在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來進行后續的邏輯處理。