【问题标题】:getting a string c++获取字符串 c++
【发布时间】:2011-06-15 08:26:34
【问题描述】:

我在获取字符串时遇到问题。 我用

getline(cin,string);

但是有某种错误,当我按下回车键时它会跳过一行,有没有解决这个问题的方法,或者可能是另一个函数来获取带有空格的字符串?

【问题讨论】:

  • 显示整个代码,以及您输入的内容以及您的预期
  • 跳过一行是什么意思?跳过您输入 oress 的行或下一行?

标签: c++ string getline


【解决方案1】:

我的猜测是您在执行 getline() 之前在某处执行 cin >> someVar

cin >> someVar
不读取完整的行,但在第一个空白字符处停止,并且换行符 \n 保持未使用。这会导致 getline() 中的行跳过

如果是这样的话,

要修复它,您需要在getline() 之前添加一个cin.ignore() 语句以使用>> 流提取器留在输入流中的\n 换行符(或任何其他额外字符)。

【讨论】:

    猜你喜欢
    • 2011-12-27
    • 1970-01-01
    • 2014-12-13
    • 2011-05-25
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多