Название: QIODevice::ReadWrite и QIODevice::WriteOnly Отправлено: blood_shadow от Июль 27, 2010, 15:24 Добрый день!
Недавно начал программировать под Qt и наткнулся на несколько непонятных мне вещей: 1. Ф-ция QString val::loadInputText() const считывает текст с файла C:\\String_value\\input.txt и записует его в текстовое поле textIn, затем по нажатию кнопки "Save" вызывается ф-ция QString val::saveOnFile() которая сохраняет измененный текст с текстового поля в тот же файл, вопрос в следующем - почему если в ф-ции QString val::saveOnFile() записать inputFile->open(QIODevice::ReadWrite); программа перестает правильно работать, а именно не дает записать изменения в файл после удаления нескольких символов(например если в файле строка "In forest many trees" отредактировать ее до "In forest many" всеравно окажется в файле "In forest many trees")? Код:
Название: Re: QIODevice::ReadWrite и QIODevice::WriteOnly Отправлено: Igors от Июль 27, 2010, 15:33 Если файл открыт ReadWrite, его содержимое не удаляется. Вы просто пишете с 0-го байта и имеете "незатертый хвост" :)
Название: Re: QIODevice::ReadWrite и QIODevice::WriteOnly Отправлено: blood_shadow от Июль 27, 2010, 15:55 Если файл открыт ReadWrite, его содержимое не удаляется. Вы просто пишете с 0-го байта и имеете "незатертый хвост" :) то есть в таком режиме текст пишется поверху? Название: Re: QIODevice::ReadWrite и QIODevice::WriteOnly Отправлено: Igors от Июль 27, 2010, 16:07 то есть в таком режиме текст пишется поверху? да, если файловый указатель (позиция в файле) меньше его размераНазвание: Re: QIODevice::ReadWrite и QIODevice::WriteOnly Отправлено: blood_shadow от Июль 27, 2010, 16:17 то есть в таком режиме текст пишется поверху? да, если файловый указатель (позиция в файле) меньше его размера |