第一次随笔
关于C语言字符串常用操作
S1,S2均为字符串
| 函数名称 | 用法 | 作用 |
| strstr | strstr(*s1,*s2) | 从S1中检索S2,返回 str1字符串从 str2第一次出现的位置开始到 str1结尾的字符串 |
| strcpy | strcpy(*s1,*s2) | 将S2的内容复制到S1 |
| strncmp | strncmp(*s1,*s2,len) | 用于比较两个字符串 |
| strlen | strlen(*s1) | 遇到 '\0' 即返回,返回的数值为S1的字符串长度,且不包含‘\0’ |
示例:
1、strstr
1 char *ptr; 2 char buffer[] = "a=123;flag=ture;num=12.34;"; 3 4 ptr = strstr(buffer,"flag="); 5 printf("%s",ptr); //输出 flag=ture;num=12.34;
若想对指定的字符串后续内容则
int i=0; char pbuff[20]; ptr = strstr(buffer,"flag=") + strlen("flag="); //printf("%s\r\n",q); while( *ptr != ';') { pbuff[i++] = *ptr; ptr++; } printf("str = %s\r\n",pbuff); //输出 ture
2、strcpy
char buffer[] = "a=123;flag=ture;num=12.34;"; char cbuff[30]; strcpy(cbuff,buffer); printf("cpy = %s\r\n",cbuff); //输出 cpy = a=123;flag=ture;num=12.34;
3、strncmp
4、strlen
关于strlen 与sizeof 两者区别
char numChar[] = "222333"; printf("sizeof = %d\r\n",sizeof(numChar)); //输出7 printf("strlen = %d\r\n",strlen(numChar)); //输出6
因为字符串以 '\0' 结束,而 sizeof 是返回输入参数的占字节数得大小,因此返回7
而 strlen 是遇到 '\0' 即返回,返回的数值为S1的字符串长度,且不包含‘\0’

浙公网安备 33010602011771号