资源描述:
《C语言中必须掌握的字符串处理函数.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、那些你不太熟悉的字符串处理函数函数集合(全部包含在string.h头文件中)Intstrcoll(constchar*s1,constchar*s2);Size_tstrxfrm(char*s1,constchar*s2,size_tn);Char*strchr(constchar*s,intc);Char*strrchr(constchar*s,intc);Size_tstrcspn(constchar*s1,constchar*s2);Size_tstrspn(constchar*s1,constchar*s2);Char*strpbrk(constchar*s
2、1,constchar*s2);Char*strstr(constchar*s1,constchar*s2);Char*strtok(char*s1,constchar*s2);Strcoll()Strcoll是一个比较两个字符串大小的函数,比较规则是LC_COLLATE;默认情况下和strcmp等函数一样是根据ascii码排序,但是对于设置了lc_collate语言环境的情况下,则根据设置的环境比较大小,譬如,汉字根据拼音排序。例子:#include#includeintmain(){char*s1="iaove";char*
3、s2="ihate";inti=strcoll(s1,s2);intj=strcmp(s1,s2);printf("i=%d,j=%d",i,j);return0;}Strxfrm()Strxfrm是一个字符串转换的函数,叫字符串s2转换后,保存到s1。这种转换根据lc_collate进行。当区域选项是“POSIX”或者“C”时,函数和strncpy一样。返回被转换的字符数(不包括结束的空字符)例子:#include#includeintmain(){chars1[100]="iaove";char*s2="ihate";i
4、nti=strxfrm(s1,s2,99-strlen(s1));printf("i=%d,s1=%s",i,s1);return0;}Strchr()Strchr是一个寻找字符c在字符串s中第一次出现的位置,终止用的空字符被认为是返回串的一部分。返回定位字符的指针,如果没有,则返回空指针。#include#includeintmain(){char*s1="iamastudent";charc='m';char*des=strchr(s1,c);printf("是第%d个,字符为:%c",des-s1+1,*des);retu
5、rn0;}Strrchr()Strrchr寻找字符c在字符串s中最后一次出现的位置,终止符被认为是串的一部分。函数返回找到的字符的指针,如果没有,则返回空指针。#include#includeintmain(){char*s1="iamastudent";charc='t';char*des=strrchr(s1,c);printf("是第%d个,字符为:%c",des-s1+1,*des);return0;}Strcspn()Strcspn计算s1指向的字符串中完全不是由s2字符串中的字符组成的最大初始段的长度。也就是说从头开
6、始对比与s2串的字符后都不相同的连续字符的个数#include#includeintmain(){char*s1="abcdefghijklmnabcabcd";char*s2="bc";inti=strcspn(s1,s2);printf("i=%d",i);return0;}Strspn()Strspn计算s1指向的字符串完全由s2指向的字符串中的字符组成的最大初始段的长度。也就是说s1从头开始比,如果说第一个字符都不在s2中,则返回0,如果在,则比较第二个字符,返回值+1,依次比较,直到找到不同的为止;例子#inclu
7、de#includeintmain(){char*s1="abcdefghijklmnabcabcd";char*s2="bc";inti=strspn(s1,s2);printf("i=%d",i);return0;}#include#includeintmain(){char*s1="abcdefghijklmnabcabcd";char*s2="abc";inti=strspn(s1,s2);printf("i=%d",i);return0;}Strpbrk()Strpbr