我想查找字符串中的最後一次出現的字符串(它不是以NULL結尾的)。 搜索到的子字符串總是4個字母。這是我嘗試過的:查找字符串的最後一次出現
char * strrstr(char *string, char *find, ssize_t len)
{
//I see the find in string when i print it
printf("%s", string);
char *cp;
for (cp = string + len - 4; cp >= string; cp--)
{
if (strncmp(cp, find, 4) == 0)
return cp;
}
return NULL;
}
儘管我看到子字符串,我在字符串參數中查找,但它始終給我NULL。
你能舉個例子'main'與數據調用此給出錯誤的結果? – interjay
如果'string'沒有終止(嚴格地說,因此實際上並不是一個字符串,在C中),你真的不能像這樣printf()。 – unwind
@interjay找到原因。字符串是5k的malloc'ated。我一直只檢查第一個字節。 – MaMu