最后一行文件行读取结果不同

时间:2015-09-24 03:59:46

标签: c++ file-handling strlen file-read

我正在尝试从包含以下内容的文件中读取字符串:

r FFFF

r FF

r FFFF

这是我的代码:

int main ()
{   int a; ifstream ifile; 
   ifile.open("hi.txt"); 
  while (!ifile.eof()) 
   { 
      ifile.getline(data, 100); // read a line from file
      a = strlen(data);
      cout<<'length"<<a;
    }
}

我收到了意想不到的结果:length7length5length6

我做错了什么?

1 个答案:

答案 0 :(得分:0)

'\ n'(新行字符)位于data。在Windows上你也可能有'\ n \ r'代替(或'\ r \ n'我不记得了)

在最后一行,您可能没有在文本文件中