如何对多行进行标准输入并将其存储到std::streamstring
中,直到用户按下 Ctrl-D 来表示输入结束?我想做this之类的事情,但是对于可变的输入行。如何通过用户按下 Ctrl-D 信号来检查传输信号的结束?
string std_input;
stringstream stream(std_input);
while (getline(cin, std_input))
stream(std_input);
答案 0 :(得分:5)
我认为最简单的方法是将std::cin
的底层缓冲区传递给字符串流,因为它有std::basic_streambuf
的重载
std::ostringstream sstream;
sstream << std::cin.rdbuf();
答案 1 :(得分:3)
这对我有用:
string std_input;
stringstream stream;
while (getline(cin, std_input)) {
stream << std_intput << endl;
}