0

我有一个“.dat”文件,其中包含“1”和“-1”作为垂直表示的序列(即:每个元素都在一行中。)。

我正在尝试按如下方式读取文件:

char buf[30];
QFile sequence("Sequences.dat");
sequence.open(QFile::ReadOnly);
for(int sym=0; sym<29; sym++){
    char c = symbols[sym] = sequence.readLine(buf,sizeof(buf));
    symbols[sym] = c;
}
sequence.close();

但是,结果与我的序列完全不同,如下所示:

在此处输入图像描述

我做错了什么?

4

1 回答 1

2

检查readLineAPI 文档:返回值是读取的字节数,而行被读入buf数组,在每次迭代时都会被覆盖。请注意,检查数组的第一个符号是'\0'(空字符串),可能是因为文件的最后一行是空的。

于 2013-05-07T17:07:00.530 回答