Qt:c ++:如何读取“.dat”文件

时间:2013-05-07 17:00:31

标签: c++ readline qfile

我有一个“.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();
然而,结果与我的序列完全不同,如下所示:

enter image description here

我做错了什么?

1 个答案:

答案 0 :(得分:2)

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