当我使用带分隔符的getline()时,cin.get()会跳过

时间:2013-01-26 20:49:00

标签: c++ cin

我想让这个非常简单的程序正常运行。程序运行它打印出来'请输入您的全名:'。我用空格'john johnny'输入我的名字(忽略''仅供参考)然后我输入分隔符$并按回车键。程序应该停在cin.get();所以我可以读取输出但编程关闭。帮助我,我是非常新的

这是代码

#include <iostream>
#include <string>

using namespace std ;

void main ()
{
  string name;

  cout << "Please, enter your full name: ";
  getline (cin,name,'$');
  cout << "Hello, " << name ;

  cin.get();

}

1 个答案:

答案 0 :(得分:0)

用户在$之后输入的新行字符将保留在输入流中,因为它不会被getline()使用:这是{{1}的字符读取。

只需使用get(),使用新行作为分隔符(默认值)。