如何从该行开始的一行中读取所有文本?

时间:2019-03-06 19:55:38

标签: c++ input

我正在尝试用C ++读取某人的全名,并且显然会有空格(例如“ John Doe”)。我这样做的最简单方法(因为默认情况下cin在空白处中断)是使用getline(cin, str),其中“ str”是变量。

但是,这样做时,它将开始在下一行读取文本。代替这个:

  

请输入您的全名> John Doe

你得到

  

请输入您的全名>

     

John Doe

以下是产生结果的代码:

string fullName;
cout << "Please enter your full name >";
getline(cin, fullName);

有什么办法可以使我读完整行并仍然保持在同一行?

1 个答案:

答案 0 :(得分:0)

没有最小,完整,可验证的示例,很难诊断出您遇到的问题。但是,我能够生成从用户读取输入内容的代码,而不会破坏前面的“ Enter your name>”行:

std::cout

如果您习惯于将所有std::endl行与{{1}}附加在一起,那么您可能忽略了这段时间。