1、strchr()
在字符串 s
中查找字符 c
出现的位置,代码如下,
#include <stdio.h> #include <string.h> /* char *strchr(const char *str, int c) 参数 s:字符串首地址 c:匹配字母(字符) 返回值 成功:返回第一次出现的 c 地址 失败:NUL */ int main () { const char str[] = "http://www.cjavapy.com"; const char ch = '.'; char *ret; ret = strchr(str, ch); printf("|%c| 之后的字符串是 - |%s|\n", ch, ret); return(0); }
2、strstr()
在字符串 haystack 中查找字符串 needle 出现的位置。代码如下,
#include <stdio.h> #include <string.h> /* char *strstr(const char *haystack, const char *needle) 参数 haystack:源字符串首地址 needle:匹配字符串首地址 返回值 成功:返回第一次出现的 needle 地址 失败:NULL */ int main() { const char haystack[30] = "https://www.cjavapy.com"; const char needle[10] = "cjavapy"; 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 <stdio.h> #include <string.h> 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; }