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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2014, 23:46   #1
ildan
Новичок
Джуниор
 
Регистрация: 12.05.2014
Сообщений: 1
Лампочка fread. Ошибка при чтении

Во входном файле input.dat записано:
EB 58 90 4D 53 44 4F 53 35 2E 30 00 02 08

После работы программы в a,b все правильно записывается, однако в c записывается 2050, вместо 512 (т.е. считывается не 00 02, как должно быть по порядку, а считывается 02 08). Выводится 2050.

Кто может подсказать в чем может быть проблема?

Код:
struct struc
{
public:
	char a[3];
	char b[8];
	unsigned short c;
};
	
FILE *fp;
struc ba;
ifp = fopen("input.dat", "rb")

fread(&ba, sizeof(struc), 1, fp);
cout << ba.c;
ildan вне форума Ответить с цитированием
Старый 12.05.2014, 23:51   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Почитайте про выравнивание полей в структуре (http://habrahabr.ru/post/142662/). unsigned short имеет размер 2 байта, значит должен быть выровнен по адресу, кратному 2.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при чтении xml kipill Общие вопросы по Java, Java SE, Kotlin 2 23.10.2013 18:36
Ошибка при чтении файла Стремящийся Общие вопросы по Java, Java SE, Kotlin 4 03.07.2012 16:50
Ошибка при чтении из файла BEL9ILLI Общие вопросы C/C++ 3 13.01.2012 10:12
ошибка при чтении файла ongleb Общие вопросы C/C++ 17 30.07.2009 13:48
ошибка при чтении файла Alik-Soldier Общие вопросы C/C++ 1 31.05.2009 20:44