症状:
c++的标准库模板函数getline在读到限定符后还要读取额外字符...
解决方法:进入X:\Program Files\Microsoft Visual Studio\VC98\Include目录(VC6.0安装的地方),用记事本打开string(注意,不是string.h),
c++的标准库模板函数getline在读到限定符后还要读取额外字符...
解决方法:进入X:\Program Files\Microsoft Visual Studio\VC98\Include目录(VC6.0安装的地方),用记事本打开string(注意,不是string.h),
然后找到以下代码段.
else if (_Tr::eq((_E)_C,_D))
{_Chg = true;
_I.rdbuf()->snextc();//注释掉这段代码
_I.rdbuf()->sbumpc();//添加这段代码
break;
}
微软已经确认这是他们产品中的'臭虫'(bug),这个bug已经在Microsoft Visual C++ .NET得到修正.
对char *p[]类字符串进行操作时,库函数为#include<cstring>,getline用法为:cin.getline(str,num,c);str为字符串名,num为字符串最大长度,c为字符串结束符。
对string str类型的字符串进行操作时,库函数为#include<string>,getline用法为:getline(cin,str);str为字符串名。
PS: MAX_PATH是C语言运行时库中通过#indefine指令定义的一个宏常量,它定义了编译器所支持的最长全 路径名时的长度。
在VC++6.0中,_MAX_PATH的之为260.
{_Chg = true;
_I.rdbuf()->snextc();//注释掉这段代码
_I.rdbuf()->sbumpc();//添加这段代码
break;
}
微软已经确认这是他们产品中的'臭虫'(bug),这个bug已经在Microsoft Visual C++ .NET得到修正.
对char *p[]类字符串进行操作时,库函数为#include<cstring>,getline用法为:cin.getline(str,num,c);str为字符串名,num为字符串最大长度,c为字符串结束符。
对string str类型的字符串进行操作时,库函数为#include<string>,getline用法为:getline(cin,str);str为字符串名。
PS: MAX_PATH是C语言运行时库中通过#indefine指令定义的一个宏常量,它定义了编译器所支持的最长全 路径名时的长度。
在VC++6.0中,_MAX_PATH的之为260.