为了账号安全,请及时绑定邮箱和手机立即绑定

在C ++中使用getline()

在C ++中使用getline()

C++
慕的地10843 2019-11-29 10:28:00
我在使用getline方法获取用户输入的消息时遇到问题,我在使用类似以下内容的方法:string messageVar;cout << "Type your message: ";getline(cin, messageVar);但是,它并没有停止获取输出值,这怎么了?
查看完整描述

3 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

如果输入中只有一个换行符,则只需执行


std::cin.ignore();

会很好的工作。它从输入中读取并丢弃下一个字符。


但是,如果输入中除了换行符之外还有其他内容(例如,您读了一个单词,但用户输入了两个单词),则必须


std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');

参见例如该ignore功能的参考。


为了更加安全,请循环执行上述第二种选择,直到gcount返回零。


查看完整回答
反对 回复 2019-11-29
  • 3 回答
  • 0 关注
  • 1037 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信