在C语言中,查找子串通常使用strstr()函数来实现。strstr()函数用于在一个字符串中查找指定子字符串的第一次出现位置。下面是一个示例代码:
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!";
char sub[] = "world";
char *result;
result = strstr(str, sub);
if(result) {
printf("子串 \"%s\" 在字符串 \"%s\" 中的位置是 %ld\n", sub, str, result - str);
} else {
printf("未找到子串 \"%s\" 在字符串 \"%s\" 中\n", sub, str);
}
return 0;
}
在这个例子中,我们使用strstr()函数在字符串"Hello, world!“中查找子串"world”。如果子串存在,则打印出子串在原字符串中的位置;如果子串不存在,则打印出未找到子串的提示信息。
值得注意的是,strstr()函数返回的是指向第一次出现子串的指针,如果未找到子串,则返回NULL。在实际使用中,应当判断返回值是否为NULL来进行后续的逻辑处理。