У меня есть файл .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();
однако результат не похож на мою последовательность, как показано ниже:
что я сделал не так?
Проверить readLine
API doc: возвращаемое значение — это количество прочитанных байтов, а строка считывается в buf
массив, который перезаписывается на каждой итерации. Обратите внимание, что первый символ проверяемого массива является '\0'
(пустая строка), вероятно, потому что последняя строка вашего файла пуста.
Других решений пока нет …