C語言查詢字串

2021-08-08 13:31:22 字數 856 閱讀 2141

使用c語言實現字串查詢子串,返回第乙個子串出現的位置。

ubuntu16.04 lts

gcc編譯器

#include

#define n 100

int find_str(char* str1,char* str2)

}j=0;

}return flag;

}int main()

else

return

0;}

函式原型

int find_str(char* str1,char* str2);

首先判斷str1的第乙個元素是否與str2的第乙個元素相同?

如果相同,則str1與str2的下標同時增加,指向下乙個元素,繼續判斷下乙個元素是否相同,如果不同則跳出並且j恢復初值0,如若相同,繼續下乙個,直到某乙個元素為空不存在,str1[i]先為空,說明已經查詢到檔案尾,但是未找到!如果str2[j]先為空,則說明已經完全匹配,j為str2長度,i為str1的查詢子串尾下標,所以i-j的值為str1中子串首次出現的首位置。

如果第乙個元素不相同,則i++,str1的下乙個元素與str2的首元素相比,以此類推。

注意flag初值-1,表示未找到返回-1(若找到,下標從0開始)

**截圖

執行截圖

查詢字串

在乙個主串中查詢相應的子串,如 abcdwoshidef 中查詢 woshi 方法 該實現的方法是最簡單的模式匹配方法,時間複雜度較高 include iostream using namespace std int searchstring const char str1,const char s...

查詢字串

qstring startwith 判斷乙個字串是否以某個字串開頭,引數 字串,大小寫敏感 qstring str welcome to you str.startswith welcome qt casesensitive 返回true str.startswith you qt casesens...

查詢字串

本身不難,寫到這裡只是乙個備忘錄的作用。假定linux系統中有乙個目錄,其中遞迴的存在若干子目錄。現在需要在這些目錄的檔案中尋找乙個字串marvel。我看到的方法是 find type f exec grep marvel 可是死活就是錯誤 find missing argument to exec...