用ifstream::getline()碰到的很奇怪的现象
我用的是c++builder5
用std::ifstream的时候,打开了一个文件,用getline()读取的时候,如果缓冲区设的比较小,一行还没有读完的时候,下一次读的时候,读的结果会一直是个空行。。。
觉得不应该是这样子。。。会不会是个bug?正常情况下应该是什么样的?
高手指点~~
code:
...
for (int i=0;i<100;i++)
{
inputFile.getline(aoBuffer,50);
if (strlen(aoBuffer)!=0)
{
Memo1->Lines->Add(AnsiString(aoBuffer));
}
if (inputFile.eof())
{
break;
}
}
...
用for是因为如果有这个情况发生。。。while会死循环..