cin.ignore()函数在VS和g++中的不同,这样实现各有什么优缺点吗?

啊大1号 2018-05-14 12:47:30
测试平台:g++ 5.4.0, VS2015

代码:


1.当输入:123456(enter)时,g++和VS都输出54(字符'6'的ASCII码)。如下所示:



2.当输入:b(enter)b(enter) b(enter) 时,g++和VS都输出10(即最后一个enter的ASCII码)。说明cin.ignore()会读取enter,如下所示:



3.但当输入:1234(enter)ab(enter)时,VS输出97('a'),g++输出98('b')。


也就是VS中cin.ignore()将第一个enter读取了,但g++中cin.ignore()未读取第一个enter,而是读取了第一个enter之后的'a'。请问VS和g++这样实现各有什么优缺点吗?
...全文
799 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2018-05-15
  • 打赏
  • 举报
回复
仁者见仁,智者见智。
啊大1号 2018-05-14
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
百度搜相关关键字。
已谷歌搜索,才疏学浅未能搜索出结果,特此提问
啊大1号 2018-05-14
  • 打赏
  • 举报
回复
已谷歌搜索,才疏学浅未能搜索出结果,特此提问
赵4老师 2018-05-14
  • 打赏
  • 举报
回复
百度搜相关关键字。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧