crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в чтение из бинарного файла
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
ilyabvt Дата 24.12.2011, 0:35
 
Цитата
Из студии запускаешь в отладке? Незнаю почему но у меня никогда при запуске в отладке программы не хотели грузить никакие ресурсы (файлы, конфиги и тд).

Потому что во время отладки, рабочей директорией является не директория где лежит исполняемый файл, а директория с проектом (данный фактор может зависеть от среды программирования).
ff0000-00ff00 Дата 23.12.2011, 23:02
 
Цитата(sidsukana @ 23.12.2011, 23:46) *
Из студии запускаешь в отладке? Незнаю почему но у меня никогда при запуске в отладке программы не хотели грузить никакие ресурсы (файлы, конфиги и тд). Попробуй вначале запустить, потом или командой если консоль, или кнопкой если гуй, начать читать файл.

Это именно если при запуске программы выполняется чтение файла. Если запустить программу без отладчика, при запуске все прочтется...
отладку запускаю в qt creator. Проблему решил путём изменения структуры
FILE *F;
    struct servername{char name[20];};
    F=fopen("../settings.bin","rb");
    servername dat;
    fread(&dat.name,sizeof(dat),1,F);
    fclose(F);
BRE Дата 23.12.2011, 23:02
  Потому что не POD-типы, коим и является QString, так сохранять нельзя. Нужно использовать серилизацию.
Iron Bug Дата 23.12.2011, 22:48
  а ты данные-то как-то используешь? поди компилер их схомячил под оптимизацию...
sidsukana Дата 23.12.2011, 22:46
  Из студии запускаешь в отладке? Незнаю почему но у меня никогда при запуске в отладке программы не хотели грузить никакие ресурсы (файлы, конфиги и тд). Попробуй вначале запустить, потом или командой если консоль, или кнопкой если гуй, начать читать файл.

Это именно если при запуске программы выполняется чтение файла. Если запустить программу без отладчика, при запуске все прочтется...
ff0000-00ff00 Дата 23.12.2011, 20:49
  Если записываю в бинарный файл закрываю его открываю и читаю из него, то всё отлично.
FILE *F;
    struct servername{QString name;};
    servername dat;
    dat.name="OLOLO";
    F=fopen("settings.bin","wb");
    fwrite(&dat,sizeof(dat),1,F);
    fclose(F);
    F=fopen("settings.bin","rb");
    servername dat2;
    fread(&dat2.name,sizeof(dat2),1,F);
    fclose(F);



Но если начинаю только читать из файла, то данные недоступны
FILE *F;
    struct servername{QString name;};
F=fopen("settings.bin","rb");
    servername dat2;
    fread(&dat2.name,sizeof(dat2),1,F);
    fclose(F);


Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.4.2024, 1:19