bool endsWith(const char* str, const char* suffix)
测试C字符串str是否以指定的后缀C字符串后缀结束。
示例:
endsWith("hot dog", "dog") // Should return true
endsWith("hot dog", "cat") // Should return false
endsWith("hot dog", "doggle") // Should return false
我有:
bool endsWith(const char* str, const char* suffix){
if(strstr(str, suffix)==(strlen(str)-strlen(suffix)))
return true;
else
return false;
}
答案 0 :(得分:2)
另一种不使用std::string
的解决方案可能是:
bool strendswith(const char* str, const char* suffix)
{
int len = strlen(str);
int suffixlen = strlen(suffix);
if(suffixlen > len)
{
return false;
}
str += (len - suffixlen);
return strcmp(str, suffix) == 0;
}
答案 1 :(得分:0)
你没有真正提出问题,但你提到了一个C ++函数,所以:
bool endsWith(std::string str, std::string suffix)
{
if (str.length() < suffix.length())
return false;
return str.substr(str.length() - suffix.length()) == suffix;
}