![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Hardcode |
![]()
Сообщение
#1
|
Новичок Группа: Неактивирован Сообщений: 4 Регистрация: 3.4.2011 Пользователь №: 2569 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Имею небольшое приложение, в котором хотелось бы иметь возможность при запуске считывать некоторые данные из бинарного файла, который, естественно, нужно заранее создать. Однако у меня никак не получается отправить в QDataStream строку QStream. Причем проблему я заметил только с QString: например, QPixmap записывается и считывается без проблем.
Создал новый тест-проект, вот код:
Результат работы программы - файл output.bin размером 0 байт. Сообщения об ошибке не возникало. Кто-нибудь сталкивался с подобным? Или, может быть, в коде что-то упущено? Система: Linux x86_64, GCC 4.6.0, Qt 4.7.2 |
|
|
![]() |
abc |
![]()
Сообщение
#2
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 221 Регистрация: 16.12.2010 Из: СПб Пользователь №: 2272 Спасибо сказали: 26 раз(а) Репутация: ![]() ![]() ![]() |
во-первых, как ты завершаешь своё приложение?
я сунул твой код в конструктор окна, и код отработал. я скомпилировал твой код, как он есть, и строка не записалась. затем я добавил - output.close(); запись произошла. почему? мне приходит в голову, что в первом случае (код в конструкторе класса) по выходе из конструктора объект QFile output удаляется, предварительно закрывая файл - изменения вносятся. А во втором случае твоя программа не завершается, QFile output нигде не удаляется, файл остаётся открытым, изменения не вносятся |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 22.7.2025, 4:40 |