c语⾔strchr函数内容,cstrchr函数_c语⾔strchr函数_strchr函数
⽤法
各位看官们,⼤家好,上⼀回中咱们说的是字符串⽐较的例⼦,这⼀回咱们说的例⼦是:字符串查。闲话休提,⾔归正转。让我们⼀起talk C栗⼦吧!
看官们,在C语⾔的标准库中为我们提供了字符串查函数,我们只需要包含string.h头⽂件就可以使⽤
字符串查函数。这点和字符串⽐较函数⼀样,标准库为我们提供了三个字符串查函数:strchr,strrchr和strstr。当然了,标准库中也有⼀些类似查功能的函数,但是这些函数的使⽤概率⽐较⼩,因此我们就不详细介绍了。接下来我们分别介绍查函数的⽤法及其注意事项。
strchr函数原型:char * strchr(const char *s1, int c)
strchr函数⽤法:它把c转换成char类型的字符,然后在s1中查该字符,如果到该字符,那么返回该字符在字符串中第⼀次出现的位置,如果没有到,那么返回空指针。
strchr注意事项:它把int类型的变量强制转换成char类型的变量,其实是按照字符的ASCII码值进⾏转换。⽐如97会被转换为字符’a’。我们想查某个字符时,只需要输⼊它的ASCII码值就可以。另外,在查过程中,字符串的⼩尾巴也会当作字符串的⼀部分,所以可以在字符串中到空字符的位置。
我们举⼀个实际的例⼦来说明,在程序中定义如下字符串:
char *s1 = "abcdABCDabcd";
char *s2 = "abc";
int c = 97;
我们使⽤strchr函数来查c在字符串s1中的位置,查的结果如下:
a(97) is found in abcdABCDabcd, and location is 1.
(0) is found in abcdABCDabcd, and location is 13. //" \0 can't be show"
这⾥的字符串⽐较简单,⼤家⼀眼就可以看出来字符a在字符串s1中,⽽且位于第⼀位。我们再和程序的运⾏结果去对⽐,显然是⼀致的。另外,也可以在字符串中查空字符,也就是字符串的⼩尾巴,查的结果位于字符串末尾,这点我们可以在上⾯的程序运⾏结果中看到。
strrchr函数原型:char * strrchr(const char *s1, int c)
strrchr函数⽤法:它把c转换成char类型的字符,然后在s1中查该字符,如果到该字符,那么返回该字符在字符串中最后⼀次出现的位置,如果没有到,那么返回空指针。这点和strchr正好相反。
strrchr注意事项:它和strchr的注意事项相同,因此就不详细说明了。
我们举⼀个实际的例⼦来说明,还是使⽤刚才的字符串:
c语言char的用法char *s1 = "abcdABCDabcd";
char *s2 = "abc";
int c = 97;
我们使⽤strrchr函数来查c在字符串s1中的位置,查的结果如下:
a(97) is found in abcdABCDabcd, and re-location is 9.
(0) is found in abcdABCDabcd, and re-location is 13. //" \0 can't be show"
⼤家可以看到,字符串s1中包含两个a字符,⼀个位于字符串的第⼀位,另外⼀个位于字符串的第九位。这和程序的运⾏结果是⼀致的。另外,字符串s1中只有⼀个空字符,⽽且位于字符串的末尾,我
们再和程序的运⾏结果去对⽐,这显然也是⼀致的。
⼤家或许已经发现了,我们刚才使⽤的两个字符串查函数,都是⽤来查单个字符的,有没有查整个字符串的函数?答案是肯定的。标准库为我们提供了strstr函数,接下来我们详细介绍它。
本⽂来⾃电脑杂谈,转载请注明本⽂⽹址:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论