c语言查找字符串中是否包含某个字符串
时间: 2024-01-02 14:03:00 浏览: 238
在C语言中,你可以使用strstr函数来查找一个字符串是否包含另一个字符串。该函数的原型如下:
```c
char *strstr(const char *haystack, const char *needle);
```
其中`haystack`表示要搜索的字符串,`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' contains '%s'\n", str1, str2);
} else {
printf("'%s' does not contain '%s'\n", str1, str2);
}
return 0;
}
```
输出结果为:`'Hello, World!' contains 'World'`
相关问题
c语言判断字符串是否包含某个字
在C语言中,可以使用库函数strstr来判断一个字符串是否包含某个字。该函数的原型如下:
```c
#include <string.h>
char* strstr(const char* str1, const char* str2);
```
其中str1是要搜索的字符串,str2是要查找的字。该函数返回一个指针,指向str2在str1中第一次出现的位置,如果找不到则返回NULL。
以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello, world!";
char str2[] = "world";
if (strstr(str1, str2)) {
printf("字符串包含指定的字\n");
} else {
printf("字符串不包含指定的字\n");
}
return 0;
}
```
输出结果为:"字符串包含指定的字"
c语言单个字符串数组查找字符串
可以使用strcmp函数来对单个字符串数组进行查找。
例如,假设我们有一个字符串数组str_array,包含了多个字符串,我们想要查找其中的某个字符串target_str,可以使用以下代码:
```
#include <stdio.h>
#include <string.h>
int main() {
char str_array[10][20] = {"hello", "world", "foo", "bar", "apple", "banana", "cat", "dog", "sun", "moon"};
char target_str[20] = "banana";
int i, found = 0;
for (i = 0; i < 10; i++) {
if (strcmp(str_array[i], target_str) == 0) {
found = 1;
break;
}
}
if (found) {
printf("The target string \"%s\" is found at index %d.\n", target_str, i);
} else {
printf("The target string \"%s\" is not found in the array.\n", target_str);
}
return 0;
}
```
以上代码中,我们使用了一个双重循环来遍历字符串数组中的每个字符串,并使用strcmp函数逐个比较字符串,查找目标字符串。如果找到了目标字符串,我们设置found标记为1,并使用break语句跳出循环。最后,我们根据found标记的值输出查找结果。
阅读全文