strstr函数怎么用
时间: 2023-11-24 15:47:56 浏览: 101
strstr函数是C++中的一个字符串查找函数,它的作用是在一个字符串中查找另一个字符串的第一次出现。使用该函数需要包含头文件string.h。该函数的原型为:char *strstr(char *str1, const char *str2)。其中,str1是被查找的目标字符串,str2是要查找的字符串。如果找到了str2,则该函数返回str2在str1中第一次出现的位置的指针;如果未找到,则返回NULL。下面是一个使用strstr函数的例子:
char str1[] = "hello world";
char str2[] = "world";
char *ptr = strstr(str1, str2);
if (ptr != NULL) {
cout << "找到了:" << ptr << endl;
} else {
cout << "未找到" << endl;
}
在上面的例子中,我们定义了两个字符串str1和str2,然后使用strstr函数在str1中查找str2。如果找到了,则输出找到的位置;否则输出未找到。
相关问题
strstr函数使用方法
strstr函数是C语言中的一个字符串处理函数,其作用是在一个字符串中查找另一个字符串第一次出现的位置。其函数原型为:
```
char *strstr(const char *str1, const char *str2);
```
其中,str1表示要被查找的字符串,str2表示要查找的子字符串。函数返回值为一个指向str2在str1中第一次出现位置的指针,如果str2未在str1中出现,则返回NULL。
使用该函数时,需要注意以下几点:
1. 在使用该函数前,需要确保str1和str2指向的字符串以'\0'结尾,否则可能会导致结果不正确。
2. 在使用该函数时,应该判断函数的返回值是否为NULL,以确保查找到了需要的子字符串。
下面是一个使用strstr函数的例子:
```
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "hello world";
char str2[] = "world";
char *p = NULL;
p = strstr(str1, str2);
if (p != NULL)
{
printf("'%s' is found in '%s' at position %ld.\n", str2, str1, p - str1);
}
else
{
printf("'%s' is not found in '%s'.\n", str2, str1);
}
return 0;
}
```
运行结果为:"'world' is found in 'hello world' at position 6."
strstr函数使用例子
`strstr()` 函数是 C 标准库中的字符串处理函数,它用于在一个字符串(也称为"haystack")中查找另一个字符串("needle")第一次出现的位置。如果找到匹配,它会返回指向该子串开始位置的指针;如果没有找到,就返回 `NULL`。
一个简单的使用例子如下:
```c
#include <string.h>
char str[] = "Hello, World!";
const char* substr = "World";
// 使用 strstr 查找子串
size_t pos = strstr(str, substr) - str; // 注意减去 str 的地址获取实际偏移
if (pos != NULL) {
printf("Substring found at position %ld\n", (long)pos); // 输出子串的位置
} else {
printf("Substring not found.\n");
}
```
在这个例子中,`strstr(str, substr)` 返回的是 "World" 在 "Hello, World!" 中首次出现的位置,即从数组 str 开始算起的第 7 个字符处。如果找不到子串,则返回 `NULL`,因此判断条件检查了这个结果。
阅读全文