读书人

ifstream.getline()碰到以回车为结束的

发布时间: 2012-09-27 11:11:17 作者: rapoo

ifstream.getline()遇到以回车为结束的文本文件的时候,读取出错。
while(fileStream.good() && !fileStream.eof())
{
fileStream.getline(bufChar,NUMLINECHARS,'\n');

if(fileStream.good() && fileStream.gcount() != 0)
{
height++;
}
if(!fileStream.good())
{
CString strError1;
char temp = *bufChar;
strError1.Format("\\%d",fileStream.rdstate());
MessageBox(strError1+("file stream bad!"));
}
}

如果fileStream打开的文件是以回车行结束的文本文件,这个FILESTREAM就会出错,这个问题,大家是怎么解决的呢?

还有,我fileStream.seekg(0,ios_base::beg);
之后,然后fileStream.rdstate()仍然返回1,显示是在文件结尾,这是怎么回事啊?

[解决办法]
把流状态清理下~~
[解决办法]
用FILE *和fgets

读书人网 >C++

热点推荐