字符串函数

  • strcpy( dest, src)**:src所指由NULL结尾的字符串复制给dest;返回指向dest结束符(NULL)的指针;
  • strcpy( dest, src)**:src所指的前n个字符复制给dest;返回指向dest结束符(NULL)的指针;
  • strcat( dest, src)**:src所指的字符串添加到dest结尾处(覆盖并添加\0);返回dest指针;
  • strncat( dest, src)**:src所指的前n个字符添加到dest结尾处;返回dest指针;
  • strlen( s)*:计算字符串s长度(不包括\0);返回长度(int);
  • strspn( s, reject)**:计算字符串s开头连续的且在字符串reject中的字符个数(无顺序要求);
  • strcspn( s, reject)**:计算字符串s开头连续的且不在字符串reject中的字符个数(无顺序要求);
  • strcmp( s1, s2)**:按字典序(ASCLL)比较两个字符串;若s1>s2返回正值,相等返回0,否则返回负值(有些实现返回±1);
  • strncmp( s1, s2)**:按字典序(ASCLL)比较两个字符串前n个字符;若s1>s2返回正值,相等返回0,否则返回负值(有些实现返回±1);
  • stricmp( s1, s2)**:按字典序以大小写不敏感比较两个字符串;
  • strnicmp( s1, s2)**:按字典序以大小写不敏感比较两个字符串前n个字符;
  • strchr( s, c)*:找到字符c在字符串s中首次出现的位置;返回首次出现的地址;
  • strrchr( s, c)*:找到字符c在字符串s中最后一次出现的位置;返回地址;
  • strstr( s1, * s2)*:判断s2是否是s1的子串;若是则返回s2在s1中首次出现的首地址,否则返回NULL;
  • strset( s, c)*:将字符串s的全部字符设置成字符c;返回指向s的指针;
  • strnset( s, c)*:将字符串s的前n个字符设置成字符c;
  • strdup( s)*:复制字符串;用法:
    char *s1="Hello";
    char *s2=strdup(s1);//内含malloc()
    free(s1);
  • strrev( s)*:将字符串翻转;用法:
    char *s="Hello";
    printf("%s\n%s",s,strrev(strdup(s)));//strrev只能翻转数组,即必须知道字符串长度

    char *s1="Hello";
    char *s2=strrev(strdup(s));

posted @ 2019-03-04 23:50  郁流深  阅读(136)  评论(0编辑  收藏  举报