Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Pancir от Июнь 30, 2013, 01:45



Название: QFile и QDataStream очистка содержимого при новой записи
Отправлено: Pancir от Июнь 30, 2013, 01:45
Всем привет.. столкнулся с проблемой, в гугле не много решений и все они не работают для моего случая....

Код:
bool DBSaveLoad::write(QString &filename, Category &item){
QFile file(filename);
file.open(QFile::WriteOnly|QFile::Truncate);
QDataStream filestream(&file);

filestream << this->_identification;

this->_writeHeader(filestream);
this->_writePresets(filestream, *item.fieldsPreset());

file.close();
return true;
}

Что имею? - постоянно дописывание в конец файла например : записал "First line", при следующей попытки записать я получу "First lineFirst line" и т.д при каждой записи..... как мне начать запись как бы с нуля.... как будто я новый файл пишу... Я пробовал в самом начале функции строчку QFile::remove(filename); Файл удаляется))) но после завершения функции write я имею файл такой как был при удалении + последняя запись в конце.. т.е как будто бы я и не удалял файл.... я в растерянности, это то как возможно?
Пробовал и resize и seek, все без толку...

PS Qt 5.0.2


Название: Re: QFile и QDataStream очистка содержимого при новой записи
Отправлено: Pancir от Июнь 30, 2013, 02:24
Отбой, у меня руки кривые )) ошибка в логике при чтении файла, данные 2 раза зачитываются.... можно закрывать тему )