龙空技术网

C语言中字符串处理函数库

快乐每日数学 238

前言:

现在看官们对“c语言逆值”大体比较注重,各位老铁们都想要学习一些“c语言逆值”的相关知识。那么小编在网摘上收集了一些关于“c语言逆值””的相关文章,希望姐妹们能喜欢,咱们快快来了解一下吧!

前面有文章已经介绍过一些常用的字符串处理函数,今天这篇介绍前面没有介绍过的一些函数,而在程序设计中,进行字符串的相关操作是很频繁的,因此多了解字符串处理的函数库中的函数是非常重要的,废话不多说,下面进入主题。

一、strpbrk()函数:

其一般形式为:

char *strpbrk(char *str1,char *str2);

功能:用于检索两个字符串str1与str2中首个相同字符出现的位置。如:str1="i love you!",str2="you",可以看到首个字符为o。其函数从str1的第一个字符向后检索,直至遇到'\0'。

参数:为需要检索的字符串。

返回值:如果str1与str2中含有相同的字符,那么返回指向str1中第一个相匹配的字符串指针,当然如果没有匹配的字符,那么返回空指针NULL。

注意:此函数不会对'\0'字符检索。

范例:

strpbrk函数

运行结果:

运行结果

上面可以看出,返回值指向了第一个匹配的字符'o'。

二、strrev()函数:

该函数的一般形式为:

char *strrev(char *str);

功能:用于实现字符串的倒序操作。

参数:str是需要转换的字符串。

注意:该函数不会创建新空间,来存放倒序后的字符串,而是在原有字符串基础上进行修改,因此该函数不能修改str指向的字符串常量,因为字符串常量在静态存储区中不能被修改(常量不能被修改),因此只能逆置字符数组。

返回值:指向逆置后的字符串指针(也就是指向参数str的指针)。

范例:

strrev范例

运行结果:

运行结果

三、strset()函数:

该函数一般形式为:

char *strset(char *str,char c);

功能:此函数将str字符串中的所有字符都设置为指定的字符。

参数:str是要设置的字符串,参数c为设置的字符。

将str中的字符都设置为字符c。

返回值:指向被设置后的字符串的指针。该指针指向str。

注意:与上一个函数strrev()函数一样,其参数str只能是字符数组,不能是字符常量,原因同上。

范例:

strset范例

运行结果:

运行结果

四、strnset()函数:

其一般形式为:

char *strnset(char *str,char c,size_t n);

功能:把字符串str从首个字符开始的n个字符设置为指定字符c。

当n大于字符串长度时,将字符串全都设置为字符c。

参数:str为需要设置的字符串(当然只能操作字符数组),字符c为需要设置的字符,n为需要在str中设置的个数。

返回值:指向设置后的字符串指针,即str。

注意事项:同上。

范例:

strnset范例

运行结果:

运行结果

五、strtok()函数:

该函数的一般形式为:

char *strtok(char *str1,char *str2);

功能:把字符串str1按照str2中的字符进行分割。

参数:字符串str1是需要分解的字符串,str2为分隔符的字符串。

返回值:返回分割后的结果,没有匹配的分隔符则返回NULL。

说明:该函数在str1中查找包含在str2中的字符并用NULL('\0')来替换(注意只要检测到str2中的字符,就分割,如str2="#$",只要遇到其中之一或之二就产生分割),如果找到,那么就返回被分割的字符串,找不到返回NULL。

注意:1、每次调用strtok()函数时,只能分割一次,后面不管,要想继续分割需要反复调用strtok()函数,但是一旦第二次及以上次数调用该函数那么第一个参数就需要改变变为NULL,来替换str1,如二次调用有:strtok(NULL,char *str2)才能继续分割,否则效果会跟第一次调用结果一样。

2、该函数只能操作字符数组,不能操作字符常量,如操作char *p="i love you"时,将会出错。

下面看一下范例:

strtok函数范例

运行结果:

运行结果

好了今天暂时只介绍到这里,希望对大家有所帮助。

标签: #c语言逆值 #c语言中倒叙字符串 #c语言函数字符串