时间:2022-10-03 11:33:00 | 栏目:C代码 | 点击:次
字符串常量:“fishc”,“小甲鱼”,“鱼C工作室”字符数组:
用法:strlen(str)
注意:
#include<stdio.h> #include<string.h> int main() { char str[]="i love fishc.com!"; printf("sozeof(str)= %d\n",sizeof(str)); printf("strlen(str)= %u\n",strlen(str)); return 0; }
用法:strncpy(目标字符串,待拷贝字符串);
注意:
#include<stdio.h> #include<string.h> int main() { char str1[]="original string"; char str2[]="new string"; char str3[100]; strcpy(str1,str2); 10 strcpy(str3,"copy sucessful"); printf("str1:%s\n",str1); printf("str2:%s\n",str2); printf("str3:%s\n",str3); return 0; }
用法:
strncpy(目标字符串,待拷贝字符串,拷贝字符串尺寸);
注意:
#include<stdio.h> #include<string.h> int main() { char str1[]="to be or not to be"; char str2[40]; strncpy(str2,str1,5); str2[5]='\0'; //在结尾加上'\0' printf("str2:%s\n",str2); return 0; }
用法:strcat(一号字符串,二号字符串);//把二号加到一号后面
注意:
例一:
#include<stdio.h> #include<string.h> int main() { char str1[]="to be or not to be"; char str2[]="fishc.com!"; strcat(str1," ");//在str1后面加上个空格,没什么作用,仅仅为了好看点 strcat(str1,str2); printf("str1:%s\n",str1); return 0; }
例二:
#include<stdio.h> #include<string.h> int main() { char str1[]="to be or not to be"; char str2[]="fishc.com!"; strncat(str1," ",2);//2用来限定所加的字符个数 strncat(str1,str2,5); //不需要加'\0'来表示结束,这个会自己加 printf("str1:%s\n",str1); return 0; }
用法:strcmp(str1,str2)
注意:字符串相等的话会返回0
从返回值来剖析:
该函数的返回值如下:
示例:
#include<stdio.h> #include<string.h> int main() { char str1[]="fishc.com!"; char str2[]="fishc.com!"; if(!strcmp(str1,str2))//strcmp前面要加'非'(!),因为strcmp判断相等的话返回值为0 { printf("两个字符串完全一致!\n"); } else { printf("两个字符串存在差异!\n"); } return 0; }
限制比较的长度,可在后面加上限制参数
#include<stdio.h> #include<string.h> int main() { char str1[]="fishc.cfm!"; char str2[]="fishc.com!"; if(!strncmp(str1,str2,5))//strcmp前面要加'非'(!),因为syrcmp判断一致的话返回值 为0 { printf("两个字符串完全一致!\n"); } else { printf("两个字符串存在差异!\n"); } return 0; }