我正在学习基本的C++,现在我已经从用户那里得到了一个字符串,我想检查他们是否键入了整个文件名(包括.txt)。我有字符串,但是如何检查字符串是否以“.txt”结尾?
string fileName;
cout << "Enter filename: \n";
cin >> fileName;
string txt = fileName.Right(4);
Right(int)
方法仅适用于CString,因此上面的代码不起作用。如果可能,我想使用常规字符串。有任何想法吗? 最佳答案
不幸的是,这个有用的功能不在标准库中。这很容易写。
bool has_suffix(const std::string &str, const std::string &suffix)
{
return str.size() >= suffix.size() &&
str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0;
}