strstr strchr
时间: 2023-12-19 15:02:20 浏览: 92
strstr和strchr都是C语言中用来查找子串的函数。它们在字符串处理中起着重要的作用。
strstr函数用于在一个字符串中查找第一次出现指定子字符串的位置。它的原型是:
```c
char *strstr(const char *haystack, const char *needle);
```
其中,haystack是要在其中查找的字符串,needle是要查找的子字符串。如果找到了子字符串,则返回子字符串在原始字符串中的地址;如果没有找到,则返回NULL。
而strchr函数用于在一个字符串中查找指定字符的位置。它的原型是:
```c
char *strchr(const char *s, int c);
```
其中,s是要在其中查找的字符串,c是要查找的字符。如果找到了这个字符,则返回字符在字符串中的地址;如果没有找到,则返回NULL。
两者的区别在于,strstr查找的是一个子字符串,而strchr则是查找一个字符。它们在实际应用中有着不同的用途,可以根据具体的需求选择使用哪一个。不管是strstr还是strchr,都是在处理字符串中非常常用且实用的函数。
相关问题
strstr strchr区别
`strstr` 和 `strchr` 都是 C 标准库中的字符串函数,但它们的作用有所不同:
1. `strstr`: 这个函数用于在一个字符串 (`haystack`) 中查找另一个字符串 (`needle`) 首次出现的位置。它会从 `haystack` 的开头开始搜索,找到第一个匹配 `needle` 子串的地方,并返回该子串在原字符串中的起始指针。如果找不到匹配,则返回 `NULL`。
例如:
```
char *found = strstr("Hello World", "World");
```
结果将是 `found` 指向 "World"。
2. `strchr`: 这个函数则是寻找指定字符 (`c`) 在字符串 (`s`) 中首次出现的位置,不论这个字符是否成连续的子串。如果找到,它返回指向该字符的指针;如果没找到,返回 `NULL`。
例如:
```
char *found = strchr("Hello World!", 'W');
```
结果将是 `found` 指向 'W' 字符,即 "World!" 中的第一个 'W'。
总结一下,`strstr` 查找的是完整的字符串子串,而 `strchr` 只查找单个字符。
strstr和strchr头文件
strstr和strchr是C语言中的字符串处理函数,它们都定义在<string.h>头文件中。
1. strstr函数:
strstr函数用于在一个字符串中查找另一个字符串的第一次出现位置。函数原型如下:
```c
char *strstr(const char *haystack, const char *needle);
```
其中,haystack是要被搜索的字符串,needle是要搜索的目标字符串。函数返回目标字符串在被搜索字符串中的首次出现位置的指针,如果未找到目标字符串,则返回NULL。
2. strchr函数:
strchr函数用于在一个字符串中查找指定字符的第一次出现位置。函数原型如下:
```c
char *strchr(const char *str, int c);
```
其中,str是要被搜索的字符串,c是要搜索的目标字符。函数返回目标字符在被搜索字符串中的首次出现位置的指针,如果未找到目标字符,则返回NULL。
阅读全文