gpt4 book ai didi

c++ - 读取多行文本直到空行

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

我正在开发一个程序,让用户输入文本,直到程序读取到一个空行。到目前为止,我有这个:

#include <iostream>
#include <cstring>

int main() {
string text;
cout << "Enter Your Text: " << endl;
getline(cin,text);
cout << "Text" << endl;
return 0;
}

但是,这只会将我的文本输出为一行而不是单独的行,就像我希望的那样。然后是当它读取表示用户输入结束的空行时的部分。

我读到 getline() 获取所有用户输入,但如何将其显示为单独的行?

我读到我可能必须使用分词器,但我对它们的工作方式以及实际编写方式感到困惑。我正在考虑使用 vector 或某种数组,但 vector 是我唯一熟悉的。

而且我不太确定如何让程序在空白行处停止。我在想可能是一个 while 循环,但是括号中会包含什么,以及如何将其与获取用户输入相结合?

我基本上想弄清楚的是如何修改我的代码以将用户输入输出为行而不是一个完整的语句,并在用户输入空白行时停止获取用户输入。

最佳答案

尝试这样的事情:

#include <iostream>
#include <string>
#include <vector>

int main()
{
std::vector<std::string> text;
std::string line;

std::cout << "Enter Your Text: " << std::endl;

while (std::getline(std::cin, line) && !line.empty())
text.push_back(line);

std::cout << "You entered: " << std::endl;

for (auto &s : text)
std::cout << s << std::endl;

return 0;
}

关于c++ - 读取多行文本直到空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55347663/

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