如果使用的是VC6,将string文件的_I.rdbuf()->snextc();这行代码改成下面
_I.rdbuf()->sbumpc();并设置/GX选项即可。
症状:c++的标准库模板函数getline在读到限定符后还要读取额外字符...解决方法:else if(_Tr::eq((_E)_C, _D)) {_Chg = true; // _I.rdbuf()->snextc(); /* 把这一行注释掉,添加下一行.*/_I.rdbuf()->sbumpc(); break; }修改系统头文件时大家要小心点...现状:微软已经确认这是他们产品中的'臭虫'(bug),这个bug已经在Microsoft Visual C++ .NET得到修正.案例:如上...该文件的一般路径:C:\ProgramFiles\Microsoft Visual Studio\VC98\Include\string 注意是string文件,不是string.h,修改后问题解决
如何设置/GX选项?
Project->Settings->C/C++->ProjectOptions
在
编辑框里面的最后加上/GX 然后保存即为/GZ/GX/c;运行后问题解决,但是会出现waring:ignoring G GG;只需再把/GX删除即可,因为已经重新设置好了