Russian Qt Forum

Qt => Общие вопросы => Тема начата: Козырь от Октябрь 15, 2006, 00:27



Название: QFile :: Как установить конец файла?
Отправлено: Козырь от Октябрь 15, 2006, 00:27
Проблема возникла когда мне понадобилось обрезать последние 128 байт файла. В Qt я не нашел функции для установки символа EOF. В WIN32 API есть функция SetEndOfFile(HANDLE). Я пытался запустить её для QFile.handle() - никакого результата 8-\
Помогите пожалуйста!
Кросс-платформенность пока не нужна.

P.S. Есть вариант скопировать всё, кроме последник 128 байт, в QTemporaryFile, сбросить QFile, а затем скопировать все обратно. Но хотелось бы что-нибудь попроще и побыстрее.


Название: QFile :: Как установить конец файла?
Отправлено: bigirbis от Октябрь 15, 2006, 12:50
bool QFile::resize( qint64 sz )?


Название: QFile :: Как установить конец файла?
Отправлено: Dendy от Октябрь 16, 2006, 21:23
Насколько я помню, QFile::handle() возвращает хендл стандартной либьІ, а не Win32-хендл. Попробуй найти аналог етой функции в stdlib.


Название: QFile :: Как установить конец файла?
Отправлено: bigirbis от Октябрь 17, 2006, 08:33
Зачем вам хендлы, если bool QFile::resize( qint64 sz ) отлично транкейтит файлы под любой системой?