gpt4 book ai didi

c++ - 如何将文本(诗歌)分成几行(字符串/字符[])并找到每一行的最后一个词

转载 作者:行者123 更新时间:2023-11-30 02:58:37 25 4
gpt4 key购买 nike

我有一首诗,例如:

    Roses are red
Violets are blue
Sugar is sweet
And so are you

只用/n 分隔我需要得到每一行的最后一个词,最后一个词找到一个 friend 建议使用这个:

string lastWord(string line)
{
return line.substr(max(line.rfind(" "), 0));
}

但是如何将文本拆分成行呢?

最佳答案

But what about splitting text into lines?

答案取决于文本最初的位置:如果整个文本都在一个文件中,使用ifstream;如果文本在 string 中,请使用 stringstream。在这两种情况下,使用 getline在循环中逐行从文本中提取行:

string poem = "Roses are red\n\
Violets are blue\n\
Sugar is sweet\n\
And so are you";
stringstream ss(poem);
string line;
while (getline(ss, line)) {
cout << lastWord(line) << endl;
}

此外,您的 lastWord 函数有一个差一错误:您应该简单地将 1 添加到 rfind 的结果,而不是使用 max,像这样:

string lastWord(string line)
{
return line.substr(line.rfind(" ")+1);
}

这将从返回的单词中删除初始空格。

关于c++ - 如何将文本(诗歌)分成几行(字符串/字符[])并找到每一行的最后一个词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13585544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com