第一次随笔

关于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’

 

posted @ 2019-09-25 17:39  林夕zz  阅读(91)  评论(0)    收藏  举报