strstr()與find()均可用於字串的查詢,乙個返回的是記憶體的位置,乙個卻是目標字元在字串中的下標。
函式原型:
extern char *strstr(char *str1, const char *str2);
str1: 被查詢目標
str2: 要查詢物件
返回值:若str2是str1的子串,則返回str2在str1的首次出現的位址;如果str2不是str1的子串,則返回null。
string中find()返回值是字母在母串中的位置(下標記錄),如果沒有找到,那麼會返回乙個特別的標記npos。(返回值可以看成是乙個int型的數)。
std::string的查詢函式:
find()
rfind() //返回子字串最後一次出現在字串中的索引位置
find_first_of() //
find_first_not_of()
find_last_of()
find_last_not_of()
這些操作全都返回 string::size_type 型別的值。
1 #include2 #include3 #include4 using namespace std;
5 int main()
6 17 else
18
21 }
提取某個字串中某兩個子字串之間的字串(返回「abcdefg」)
1 std::string strpath = "abcdefgabcdefg"
2 std::string::size_type start = std::string::npos;
3 std::string::size_type end= std::string::npos;
4 start = strpath.find("abc");//返回"abc"字串首次出現的首字母的下標
5 end = strpath.find_last_of("abc", start+1);//從start後一位開始查詢
6 if(start!=-1 && end != -1)
7 return strpath;
C語言 提取子字串
編寫乙個函式,它從乙個字串中提取乙個子字串。函式原型如下 int substr char dst,char src,int start,int len 目標是 從 src 陣列起始位置向後偏移 start個字元的位置開始,最多複製 len 個非nul字元到 dst陣列。在複製完畢之後,dst 陣列必...
在字串中查詢子字串並提取它
在字串中查詢子字串並提取它 有時候你會想要找出乙個較小的字串是否存在於乙個較大的字串中 我們通常會說乙個字串中存在乙個子字串 這可以使用indexof 方法來完成,該方法需要乙個parameter 你想要搜尋的子字串。嘗試以下 browsertype.indexof zilla 結果是2,因為子字串...
查詢 子字串查詢
子字串查詢 子字串查詢的常見方法 暴力破解 sunday和kmp。1 暴力查詢 暴力查詢就是用兩個指標i,j分別指向字串和子字串,如果指標指向的字元相等則兩指標右移 否則,指向字串的指標i回到本次匹配的下乙個位置,而指向匹配字串的指標j回到匹配字串的開頭。public int search stri...