Snps..
5
您的示例中的代码看起来像是用C语言编写的.函数strlen与strcpyC 一样起源(尽管它们也是C++标准库的一部分,用于通过标题进行兼容cstring).
您应该使用标准库开始学习C++ ,事情会变得更加容易.如果您使用标准库中的函数,则可以使用几行代码来分割字符串和查找最大元素,例如:
// The text
std::string text = "foo bar foobar";
// Wrap text in stream.
std::istringstream iss{text};
// Read tokens from stream into vector (split at whitespace).
std::vector<:string> words{std::istream_iterator<:string>{iss}, std::istream_iterator<:string>{}};
// Get the greatest word.
auto greatestWord = *std::max_element(std::begin(words), std::end(words), [] (const std::string& lhs, const std::string& rhs) { return lhs.size() < rhs.size(); });
编辑:
如果你真的想只使用函数来挖掘细节std::string,那么你可以将文本分成单词(我留下找到最好的单词给你,这不应该太难):
// Use vector to store words.
std::vector<:string> words;
std::string text = "foo bar foobar";
std::string::size_type beg = 0, end;
do {
end = text.find(' ', beg);
if (end == std::string::npos) {
end = text.size();
}
words.emplace_back(text.substr(beg, end - beg));
beg = end + 1;
} while (beg < text.size());