C语言判断一个字符串中是否存在某个子串
时间: 2023-05-17 20:05:13 浏览: 310
可以使用strstr函数来判断一个字符串中是否存在某个子串。该函数的原型为:char *strstr(const char *str1, const char *str2),其中str1为要查找的字符串,str2为要查找的子串。如果找到了子串,则返回子串在字符串中的首地址;如果没有找到,则返回NULL。
相关问题
C语言中如何判断一个字符串是否包含某个子串?
在C语言中,可以使用strstr函数来判断一个字符串是否包含某个子串。
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
printf("请输入一个字符串:");
gets(str1);
printf("请输入一个子串:");
gets(str2);
if (strstr(str1, str2) != NULL) {
printf("字符串包含子串\n");
} else {
printf("字符串不包含子串\n");
}
return 0;
}
```
上述代码中,我们使用了strstr函数来判断str1字符串是否包含str2子串。如果包含,则返回子串在字符串中的首次出现的位置的指针;如果不包含,则返回NULL。根据返回值是否为NULL,我们可以判断字符串是否包含子串。
C语言判断一个字符串是否是另一个字符串的子串
在C语言中,可以使用`strstr()`函数来判断一个字符串是否是另一个字符串的子串。这个函数在 `<string.h>` 头文件中定义,它的原型如下:
```c
char *strstr(const char *haystack, const char *needle);
```
`haystack` 是主字符串(也称为“haystack”),`needle` 是要查找的子字符串(也称为“needle”)。如果 `needle` 存在于 `haystack` 中,`strstr()` 函数会返回指向 `needle` 首次出现的位置的指针;如果没有找到,则返回 `NULL`。
以下是一个简单的例子:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello, World!";
char str2[] = "World";
if (strstr(str1, str2) != NULL) {
printf("'%s' is a substring of '%s'\n", str2, str1);
} else {
printf("'%s' is not a substring of '%s'\n", str2, str1);
}
return 0;
}
```
在这个例子中,如果输出是 "World is a substring of Hello, World!",那么我们就确认了 `str2` 是 `str1` 的子串。
阅读全文
相关推荐
















