Russian Qt Forum

Qt => Общие вопросы => Тема начата: Vld2 от Март 25, 2007, 21:13



Название: QFile проблема.
Отправлено: Vld2 от Март 25, 2007, 21:13
Считываю и записываю в файл, а иногда надо полностью очистить данные из файла. Неужели нет никакой функции в 3.3.3? Как вариант высчитывать количество строк и заполнять их пробелами, но может проще можно?


Название: QFile проблема.
Отправлено: SABROG от Март 25, 2007, 21:17
А в 3.3.3 нет метода resize ? Если указанная цифра больше размера файла, то новые данные заполняются нулями, если меньше, то файл урезается (truncate).


Название: QFile проблема.
Отправлено: Vld2 от Март 28, 2007, 19:35
SABROG,resize нет в 3.3.3
Так и не понял.
У нас есть данные в файле, в определенный момент мы удаляем все данные из файла. Как это сделать?


Название: QFile проблема.
Отправлено: SABROG от Март 28, 2007, 19:55
В операционной системе есть только метод Truncate - урезание файла, там нельзя, скажем, взять 10 байт в середине и удалить, таким образом, чтобы данные, которые следовали после удаленной части переместили к данным перед удаленной частью.
Но если в 3.3.3 ничего такого нет, могу лишь посоветовать выкрутиться так:
- читаем все данные из файла
- обрабатываем как надо, что надо удаляем, что надо вставляем
- удаляем старый файл
- создаем новый и записываем в него

или взять исходники Qt посвежее и стыбрить реализацию метода resize класса QFile в свою программу, сделав наследника.