【VC6.0】getline需要输入2次回车才会结束的BUG修复方法

原始日期:2013-09-30 23:22

今天看C++Primer的时候发现一个问题,getline需要输入2次回车才会显示结果,上网找了一下,发现是VC6.0的原因,修复原因如下:

(1)建立一个1.CPP

(2)输入#include <string>

(3)右击<string>,选择“打开文档<string>”

(4)用CTRL+F查找 else if (_Tr::eq((_E)_C, _D))

(5)

1 else if (_Tr::eq((_E)_C, _D))
2            {_Chg = true;
3              _I.rdbuf()->snextc();
4             break; }

将上面的代码修改为

1 else if (_Tr::eq((_E)_C, _D))
2         {_Chg = true;
3         //  _I.rdbuf()->snextc(); 
4         // (this comments out the defective instruction) 
5         _I.rdbuf()->sbumpc(); // corrected code 
6         break; }

 
保存退出后即可修复这个问题.
 
转载自:http://www.cnblogs.com/EnCaL/archive/2012/12/03/2800138.html
原文地址:https://www.cnblogs.com/mhiauge/p/6908896.html