strstr
时间: 2023-06-29 14:12:56 浏览: 128
strstr是一个C语言库函数,用于在一个字符串中查找另一个字符串的出现位置。其函数原型为:
```c
char *strstr(const char *haystack, const char *needle);
```
其中,haystack表示要查找的字符串,needle表示要查找的子字符串。函数返回值为指向子字符串在原字符串中第一次出现位置的指针,如果找不到则返回NULL。
相关问题
strstr 返回值
strstr函数返回的是str2在str1中首次出现的地址。当str1的值改变时,返回值也会随之改变。因此,在使用strstr返回值前,不要修改str1的值,以防止出错。
范例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello, world!";
char str2[] = "world";
char *ret;
ret = strstr(str1, str2);
printf("str2在str1中的地址:%p\n", ret); // 输出:0x7ffeeb3a4a0d
return 0;
}
```
strstr strchr
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,都是在处理字符串中非常常用且实用的函数。
阅读全文