strstr函数使用举例
时间: 2024-06-20 09:00:32 浏览: 105
`strstr`是C语言中的一个库函数,它在`string.h`头文件中定义,用于在一个字符串(`char*`)中查找另一个字符串(`const char*`)首次出现的位置。如果找到了匹配的子串,则返回指向该子串的指针;如果没有找到,则返回`NULL`。
例如,假设我们有两个字符串`str1`和`str2`,我们可以用`strstr`来检查`str1`是否包含`str2`:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello, World!";
char str2[] = "World";
size_t pos = strstr(str1, str2) - str1; // 如果找到,返回子串在str1中的偏移位置
if (pos != NULL) {
printf("Substring found at position %zu\n", pos);
} else {
printf("Substring not found\n");
}
return 0;
}
```
在这个例子中,`strstr(str1, str2)`会返回`str1`中的"World"的首地址,然后减去`str1`的起始地址得到子串在`str1`中的索引。如果`str2`不存在于`str1`中,则`strstr`会返回`NULL`。
相关问题
strstr函数用法举例
strstr函数是C语言中的字符串处理函数,用于在一个字符串中查找指定子串的位置。它的函数原型如下:
```c
char *strstr(const char *haystack, const char *needle);
```
其中,`haystack`是要搜索的字符串,`needle`是要查找的子串。函数返回子串在字符串中第一次出现的位置,如果找不到则返回NULL。
下面是一个使用strstr函数的例子:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!";
char *result = strstr(str, "world");
if (result != NULL) {
printf("子串在字符串中的位置:%ld\n", result - str);
} else {
printf("未找到子串\n");
}
return 0;
}
```
输出结果为:
```
子串在字符串中的位置:7
```
这个例子中,我们在字符串"Hello, world!"中查找子串"world",并输出子串在字符串中的位置。由于子串在字符串中的起始位置是从0开始计数的,所以输出结果为7。
MIPS调用c语言的strstr函数举例
可以使用以下代码实现:
char *str = "Hello World!";
char *substr = "World";
char *result = strstr(str, substr);
if (result != NULL) {
printf("Substring found at index: %d", result - str);
} else {
printf("Substring not found");
}
这是一个简单的示例,用于在字符串中查找一个子字符串。
阅读全文