在C语言中,可以使用以下几种方法来查找子串:
示例代码:
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!";
char sub[] = "world";
char *ptr = strstr(str, sub);
if (ptr != NULL) {
printf("子串在字符串中的位置:%ld\n", ptr - str);
} else {
printf("未找到子串\n");
}
return 0;
}
示例代码:
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!";
char sub[] = "world";
int len_str = strlen(str);
int len_sub = strlen(sub);
int i, j, k;
for (i = 0; i <= len_str - len_sub; i++) {
for (j = i, k = 0; k < len_sub && str[j] == sub[k]; j++, k++);
if (k == len_sub) {
printf("子串在字符串中的位置:%d\n", i);
break;
}
}
if (i > len_str - len_sub) {
printf("未找到子串\n");
}
return 0;
}
以上是两种常见的查找子串的方法,可以根据具体情况选择合适的方法来使用。