c语言一定要精通函数吗,必须使用C语言精通的字符串处理功能

阅读: 评论:0

c语言一定要精通函数吗,必须使用C语言精通的字符串处理功能

c语言一定要精通函数吗,必须使用C语言精通的字符串处理功能

. 您不熟悉的字符串处理函数的集合(全部包含在string.h头文件中)Int strcoll(const char * s1,const char * s2); Size_t strxfrm(char * s1,const char * s2,size_t n);字符* 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);字符* strpbrk(const char * s1,const char * s2);字符* strstr(const char * s1,const char * s2); Char * strtok(char * s1,const char * s2); Strcoll()Strcoll是一个用于比较两个字符串大小的函数,比较规则为LC_COLLATE;默认情况下,它是根据strcmp和其他函数等ascii代码进行排序的,但是对于设置lc_collat​​e语言环境的情况,请根据设置的环境比较大小,例如,根据拼音对汉字进行排序.

示例: #include #include int main(){char * s1 =“ i aove”; char * s2 =“我讨厌”; int i = strcoll(s1,s2); int j = strcmp(s1,s2); printf(“ i =%d,j =%d n”,i,j);返回0; } ... Strxfrm()Strxfrm是字符串转换函数,转换后称为字符串s2的函数将保存到s1. 该转换是根据lc_collat​​e执行的. 当本地选项为“ POSIX”或“ C”时,该功能与strncpy相同. 返回转换的字符数(不包括结尾的空字符)示例: #include #include int main(){char s1 [100] =“ i aove”; char * s2 =“我讨厌”; int i = strxfrm(s1,s2,99-strlen(s1)); printf(“ i =%d,s1 =%s”,i,s1);返回0; } Strchr()Strchr是对字符串s中第一个出现的字符c的搜索,终止的空字符被视为返回字符串的一部分.

返回一个指针以找到字符,如果没有,则返回一个空指针. #include #include int main(){char * s1 =“我是学生”; char c ='m'; char * des = strchr(s1,c); printf(“是%d,字符是: %c”,des-s1 + 1,* des);返回0; } ... Strrchr()Strrchr查找字符串s中字符c的最后一次出现,终止. 中断被认为是字符串的一部分. 该函数返回指向找到的字符的指针,如果没有,则返回空指针. #include #include int main(){char * s1 =“我是学生”; char c ='t'; char * des = strrchr(s1,c); printf(“是%d,字符是: %c”,des-s1 + 1,* des);返回0; } Strcspn()Strcspn计算出s1指向的字符串根本不是由字符串s2中的字符组成的. 最大初始段的长度.

也就是说,从开头#include #include 比较int main(){char * s1 = “ abcdefghijklmn abc abcd”; char * s2 =“ bc”; int i = strcspn(s1,s2); printf(“ i =%d n”,i);返回0; } ... Strspn()Strspn计算s1指向的内容字符串最大初始段的长度,该字符串的最大长度完全由s2指向的字符串中的字符组成. 也就是说,从头开始比较s1,如果第一个字符不在s2中,则返回0,如果是,则比较第二个字符,返回值为+1,然后依次进行比较,直到找到另一个;示例#include #include int main(){char * s1 =“ abcdefghijklmn abc abcd”; char * s2 =“ bc”; int i = strspn(s1,s2); printf(“ i =%d n”,i);返回0; } #include #include int main(){char * s1 =“ abcdefghijklmn abc abcd”; char * s2 =“ abc”; int i = strspn(s1,s2); printf(“ i =%d n”,i);返回0; } ... Strpbrk()Strpbrk()在s2指向的字符处确定s2字符串中的任何字符,在字符串首次出现时返回该字符的指针,或者如果s2中没有任何字符,则返回空指针在s1中.

#include #include int main(){char * s1 =“ abcdefghijklmn abc abcd”; char * s2 =“ kji”; char * i = strpbrk(s1,s2); printf(“%d,character is: %c n”,i-s1 + 1,* i);返回0; } Strstr()Strstr返回一个字符指针,以确定s1字符串的首次出现s2字符串中字符序列的位置(必须以相同的顺序相同). 如果找不到该字符串,则返回空指针;如果s2的长度为0,则返回s1. #include #include int main(){char * s1 =“ abcdefghijklmn abc abcd”; char * s2 =“ ghi”; char * str = strstr(s1strchr函数怎么用,s2); if(str == NULL){printf(“ null n”); ...} else {printf(“%c”strchr函数怎么用,* str);}返回0; } Strtok()Strtok()使用s2字符串作为边界,切割s1字符串,并在s2字符串中找到任何字符后从s1的开头搜索s1相同的字符在该位置被截断,并且s1的搜索位置将由静态变量记录. 如果要从截断的部分执行截断查询,则需要将s1设置为NULL并再次执行该函数.

请注意,第一个字符串变量必须是可以更改的变量. #include #include int main(){char s1 [100] =“ abcdefghijklmn abc abcd”; char * s2 =“ bdk”; char * str = strtok(s1,s2); while(str){printf(“ s =%s n”,str); str = strtok(NULL,s2);}返回0; } .....

本文来自电脑杂谈,转载请注明本文网址:

.html

本文发布于:2024-01-28 02:48:54,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063813384230.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:u
标签:语言   字符串   函数   功能
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23