Есть ли способ всегда добавлять новый текст в начало текстового файла в Qt? я использую QFile::Append для этого.
file.open(QFile::Append | QFile::Text)
Есть ли способ всегда добавлять новый текст в начало текстового файла в Qt? я использую QFile::Append для этого.
file.open(QFile::Append | QFile::Text)
Вы не можете, см. документацию по адресу http://doc.qt.io/qt-5/qiodevice.html:
QIODevice::Append 0x0004 Устройство открывается в режиме добавления, поэтому все данные записываются в конец файла.
Проблема еще хуже, файл обычно хранится на диске последовательно, добавление (лучше: вставка) в начале файла приведет к перемещению всех данных в конец файла. файла, таким образом реорганизуя блоки файловой системы. Я не уверен, что такая файловая система существует, но если бы, я думаю, это позволило бы вставлять в файл только кратное размеру блока файловой системы.
seek
с последующей записью перезапишет данные в файле в этой позиции. Если вы хотите сделать это, найдите позицию и начните писать оттуда. См. bool QIODevice::seek ( qint64 pos )
. Это ваша цель?
- person hochl; 25.10.2011