Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2011, 23:08   #11
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Цитата:
fread(&reg_users[i], sizeof(TUser), 1, FH);
нельзя так делать. ни читать, ни записывать. ибо структура в памяти выравнивается. все нужно делать почленно
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 28.08.2011, 23:17   #12
zetaBiT
Пользователь
 
Регистрация: 01.05.2010
Сообщений: 11
По умолчанию

вот так???

Код:
  
  for(int i=0; i<n_reg_users; i++){
    fread(&reg_users[i].UIN,sizeof(unsigned int), 1, FH);
    fread(&reg_users[i].id, sizeof(int), 1, FH);
    fread(&reg_users[i].many, sizeof(int), 1, FH);
    fread(&reg_users[i].raiting, sizeof(int), 1, FH);
    fread(&reg_users[i].nick, 20, 1, FH);
    fread(&reg_users[i].status, 40, 1, FH);
    fread(&reg_users[i].group, 20, 1, FH);
    fread(&reg_users[i].POL, 4, 1, FH);
    fread(&reg_users[i].SP, 20, 1, FH);
  }
или может сразу всем куском сохранить? если да то как
zetaBiT вне форума Ответить с цитированием
Старый 28.08.2011, 23:20   #13
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

ну да, как то так. только на строки тоже sizeof ставь. читай про сериализацию. и почему нельзя делать, как ты делаешь это почитай http://www.kalinin.ru/programming/cpp/31_07_00.shtml

пс. и да, раз уж используешь sizeof, то передавай ему имя переменной, а не тип
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 28.08.2011 в 23:50.
pproger вне форума Ответить с цитированием
Старый 28.08.2011, 23:24   #14
zetaBiT
Пользователь
 
Регистрация: 01.05.2010
Сообщений: 11
По умолчанию

впомнилось, у меня раньше такая проблема была :
при сохранении у меня большого массива чисел загрузка данных вызывала непредсказуемые числа.

сохранял я как раз куском сразу...
Препод не понял почему но больших массивом мне в задании и ненадо было и засчитал, или был молодой или лень было ему разбиратся %)
и ошибка выходила гдето именно больше 400 элементов, массив был из элементов float
zetaBiT вне форума Ответить с цитированием
Старый 28.08.2011, 23:24   #15
zetaBiT
Пользователь
 
Регистрация: 01.05.2010
Сообщений: 11
По умолчанию

pproger, спасибо, сейчас будем изучать
zetaBiT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запись/чтение из бинарного файла. H1ghlander Общие вопросы C/C++ 0 21.11.2010 17:44
сохранение\ загрузка List View в\из бинарного файла bulldog5293 Общие вопросы Delphi 6 12.07.2010 13:59
Заполнение массива структур данными из файла Brutallus Общие вопросы C/C++ 0 26.11.2009 19:01
Запись/чтение из бинарного файла - непонятные проблемы.... Jorgen Общие вопросы C/C++ 1 26.11.2009 11:45
Запись массива с цифрами файл, и его загрузка Kycaka Общие вопросы C/C++ 4 08.06.2009 22:38