程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了调用 getline 后在 Main 中忽略 cin大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决调用 getline 后在 Main 中忽略 cin?

开发过程中遇到调用 getline 后在 Main 中忽略 cin的问题如何解决?下面主要结合日常开发的经验,给出你关于调用 getline 后在 Main 中忽略 cin的解决方法建议,希望对你解决调用 getline 后在 Main 中忽略 cin有所启发或帮助;

为一个班级做一个项目,我需要从用户那里获取一个数字并根据这个数字执行任务。在输入数字之前从命令行读取图形。问题是 cin>> 被跳过并且不允许用户输入数字。我试过将 cin.clear() 和 cin.ignore() 放在几个不同的地方,但似乎没有帮助。包括相关代码

编辑:为了澄清,当我像这样运行程序时我输入了一个图形:./streets > bel.osm.graph。代码输出“输入您的号码:”,然后在您输入号码之前结束。

    int main(int argc,char *argv[])
{
  String input;
  int colct;
  sparseMat graph;
  readMat(graph,colct); 
  cout << "Enter your number: ";
  cin >> input; //is being skipped
  if(input == "1"){
  cout << "n= " << graph[0][0].getVal() << "; m= " << graph[0][1].getVal() << ".\n";
  }
}

voID readMat(sparseMat& graph,int& colct)
{
  colct = 0;
  String line;
  while (getline(cin,linE))    // get next full line of text; NB: text
  {
    iStringstream lstream(linE);
    sparseRow neighbours;
    nz next;
    while (lstream>> next) { // peel off values in this line,one at a time
      neighbours.push_BACk(next);
    }

    graph.push_BACk(neighbours);
  }

  cin.clear();
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的调用 getline 后在 Main 中忽略 cin全部内容,希望文章能够帮你解决调用 getline 后在 Main 中忽略 cin所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。