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;
}