【问题标题】:cin.getline() waiting for inputcin.getline() 等待输入
【发布时间】:2014-04-07 17:57:40
【问题描述】:

我是在Eclipse IDE (C++) 中编写程序的初学者,我的一小段代码有问题。问题如下图:

char dataArray[100];

cout<<"Please enter a data set string: ";
cin.getline(dataArray,100,'\n');
cout<<dataArray;

当我运行它时,程序卡在getline 命令,无论输入什么,它只是让我无限期地输入字符而无需继续。

【问题讨论】:

  • 我不认为你在所有这些击键中的某个地方按下了回车键?
  • 从控制台运行的行为是否与 Eclipse IDE 不同?已发布的代码已修复为包含正确的标头和命名空间 slurp,其运行方式与您在 netbeans、Xcode 和控制台下所期望的完全一样。仅供参考。
  • 只是自己觉得可能是IDE,我会在我的笔记本电脑上测试一下。
  • 是的,看起来像是 Eclipse IDE,谢谢。关于如何解决这个问题的任何想法?相当习惯 Eclipse,不想改变。
  • 对不起,但我不使用它(IDE​​A、Netbeans、DevStudio 和 Xcode;几乎所有 Eclipse)。到处寻找,在 SO 上一定会有一个相关的问题(我希望)。

标签: c++ eclipse string cin getline


【解决方案1】:

您正在从input streamdataArray 读取数据? getline 的标准格式是

 istream& getline (istream& is, string& str, char delim);

其中isistream 从中提取字符的对象

 std::string data;
 std::getline (std::cin,data);

试试这个。

【讨论】:

  • 感谢您的帮助,但我不明白。然而事实证明这是 IDE 的问题。
猜你喜欢
  • 1970-01-01
  • 2016-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多