vc6.0 中getline需要按两次回车的解决方法

c++的标准库模板函数getline在读到限定符后还要读取额外字符...
解决方法:进入

  • X:\Program Files\Microsoft Visual Studio\VC98\Include

打开string(注意,不是string.h),然后找到以下代码段. 将snextc()换成sbumpc()

else if (_Tr::eq((_E)_C,_D)) 
{_Chg = true; 
_I.rdbuf()->snextc(); // 把这一行注释掉,也可删掉 
_I.rdbuf()->sbumpc(); //添加这一行,这行本来没有 
break; 
}

现状:微软已经确认这是他们产品中的'臭虫'(bug),这个bug已经在Microsoft Visual C++ .NET得到修正.

你可能感兴趣的:(vc)