开发手册 欢迎您!
软件开发者资料库

C语言字符串处理函数 strchr()和 strstr()的区别及使用

字符串函数(String processing function)也叫字符串处理函数,指的是编程语言中用来进行字符串处理的函数。本文主要介绍 C语言中符串处理函数 strchr()和 strstr() 的区别使用方法,以及相关的示例代码。

1、strchr()

在字符串 s 中查找字符 c 出现的位置,代码如下,

#include #include /*char *strchr(const char *str, int c)参数s:字符串首地址c:匹配字母(字符)返回值成功:返回第一次出现的 c 地址失败:NUL*/int main (){   const char str[] = "http://www.wonhero.com";   const char ch = '.';   char *ret;   ret = strchr(str, ch);   printf("|%c| 之后的字符串是 - |%s|\n", ch, ret);      return(0);}

2、strstr()

在字符串 haystack 中查找字符串 needle 出现的位置。代码如下,

#include #include  /*char *strstr(const char *haystack, const char *needle)参数haystack:源字符串首地址needle:匹配字符串首地址返回值成功:返回第一次出现的 needle 地址失败:NULL*/int main(){   const char haystack[30] = "https://www.wonhero.com";   const char needle[10] = "wonhero";   char *ret;    ret = strstr(haystack, needle);    printf("子字符串是: %s\n", ret);      return(0);}

3、strchr()和strstr()区别

char *strchr(char *str, int c); 在一个字符串中查找给定字符的第一个匹配,char *strstr(char *str1, char *str2); 在字符串中查找指定字符串的第一次出现,strchr()是查找字符,strstr()查找字符串。代码如下,

#include #include int main (){   const char str[] = "Hello world!";   const char ch = 'w';   const char sub[10] = "wor";   char *ret;   ret = strrchr(str, ch);      printf("strchr() %c is %s\n", ch, ret);      ret = strstr(str, sub);   printf("strstr() %s is %s\n", sub, ret);   return 0;}