当前位置:首页 > C语言中必须掌握的字符串处理函数
那些你不太熟悉的字符串处理函数
函数集合(全部包含在string.h头文件中) Int strcoll(const char *s1, const char *s2); Size_t strxfrm(char *s1, const char *s2, size_t n); Char *strchr(const char *s, int c); Char *strrchr(const char *s, int c); Size_t strcspn(const char *s1, const char *s2); Size_t strspn(const char *s1, const char *s2); Char * strpbrk(const char *s1, const char *s2); Char *strstr(const char *s1, const char *s2); Char *strtok(char *s1, const char *s2); Strcoll()
Strcoll是一个比较两个字符串大小的函数,比较规则是LC_COLLATE;默认情况下和strcmp等函数一样是根据ascii码排序,但是对于设置了lc_collate语言环境的情况下,则根据设置的环境比较大小,譬如,汉字根据拼音排序。 例子:
#include
char *s1=\ char *s2=\ int i=strcoll(s1,s2); int j=strcmp(s1,s2);
printf(\ return 0; }
Strxfrm()
Strxfrm是一个字符串转换的函数,叫字符串s2转换后,保存到s1。这种转换根据lc_collate进行。当区域选项是“POSIX”或者“C”时,函数和strncpy一样。返回被转换的字符数(不包括结束的空字符) 例子:
#include
char s1[100]=\ char *s2=\
int i=strxfrm(s1,s2,99-strlen(s1)); printf(\ return 0; }
Strchr()
Strchr是一个寻找字符c在字符串s中第一次出现的位置,终止用的空字符被认为是返回串的一部分。返回定位字符的指针,如果没有,则返回空指针。 #include
char *s1=\ char c='m';
char *des=strchr(s1,c);
printf(\是第%d个,字符为:%c\ return 0; }
Strrchr()
Strrchr寻找字符c在字符串s中最后一次出现的位置,终止符被认为是串的一部分。函数返回找到的字符的指针,如果没有,则返回空指针。 #include
char *s1=\ char c='t';
char *des=strrchr(s1,c);
printf(\是第%d个,字符为:%c\ return 0; }
Strcspn()
Strcspn计算s1指向的字符串中完全不是由s2字符串中的字符组成的最大初始段的长度。也就是说从头开始对比与s2串的字符后都不相同的连续字符的个数 #include
char *s1=\ char *s2=\ int i=strcspn(s1,s2); printf(\ return 0; }
Strspn()
Strspn计算s1指向的字符串完全由s2指向的字符串中的字符组成的最大初始段的长度。也就是说s1从头开始比,如果说第一个字符都不在s2中,则返回0,如果在,则比较第二个字符,返回值+1,依次比较,直到找到不同的为止; 例子
#include
char *s1=\ char *s2=\ int i=strspn(s1,s2); printf(\ return 0; }
#include
char *s1=\ char *s2=\ int i=strspn(s1,s2); printf(\ return 0; }
共分享92篇相关文档