我想在一个字符串中找到最后出现的子串(该字符串未以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
示例吗? - interjaystring
没有被终止(严格来说,在C中它实际上不是一个字符串),你就不能像那样使用printf()
打印它。 - unwind