好的,我正在编写一个简单的C++函数来组合cin'd字符串.我目前正在开发Linux,所以我没有简单的"getline(cin,input)"命令.这是迄今为止的代码:
string getLine()
{
string dummy;
string retvalue;
do
{
cin << dummy;
retvalue += dummy;
} while
return retvalue;
}
Run Code Online (Sandbox Code Playgroud)
我想知道的是:提示实际上是要求用户输入,还是仍然是因为空间而从剩余的缓冲区中读取?
有一个getline定义为strings:
std::string line;
std::getline(std::cin, line);
Run Code Online (Sandbox Code Playgroud)
我目前正在开发Linux,所以我没有简单的"getline(cin,input)"命令.
什么是Linux与它有关?getline是标准的C++,除了拼写cin.getline(input, size[, delimiter]).
编辑:不删除这个,因为它是一个有用的参考,但AraK的帖子说明std::getline应该是想要的人的首选std::string.istream的getline工作在一个char *代替.