用c++判断是不是子字符串
时间: 2023-06-02 20:02:04 浏览: 125
C++实现判断一个字符串是否为UTF8或GBK格式的方法
以下是一个用C语言实现的判断字符串是否为子字符串的函数:
```c
#include <stdio.h>
#include <string.h>
int isSubstring(char str[], char sub[]) {
int len1 = strlen(str);
int len2 = strlen(sub);
int i, j;
for (i = 0; i <= len1 - len2; i++) {
for (j = 0; j < len2; j++) {
if (str[i + j] != sub[j])
break;
}
if (j == len2)
return 1;
}
return 0;
}
int main() {
char str[] = "Hello world";
char sub[] = "world";
if (isSubstring(str, sub))
printf("%s is a substring of %s\n", sub, str);
else
printf("%s is not a substring of %s\n", sub, str);
return 0;
}
```
该函数接受两个字符串参数,分别为原字符串和待匹配的子字符串。函数使用两个嵌套的循环遍历原字符串,每次比较原字符串中从当前位置开始与子字符串长度相等的字符序列是否与子字符串相等。如果相等,则返回1,表示子字符串是原字符串的子串;否则继续遍历,直到遍历完整个原字符串,返回0,表示子字符串不是原字符串的子串。
在以上示例中,原字符串为"Hello world",子字符串为"world",因此输出结果为"world is a substring of Hello world"。
阅读全文