![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 04.11.2012
Сообщений: 33
|
![]()
Здравствуйте. Читаю из файла куски данных, которые записываю в объект структуры:
Код:
Код:
![]() p.s. может быть подобная тема есть, но мобильный интернет не позволяет нормально поюзать поиск ![]() |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 11.01.2013
Сообщений: 149
|
![]()
Скорее всего идет выравнивание структур данных на 4 байта
Может это и чушь, но это моя чушь и я ее никому не отдам.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 639
|
![]()
ICQ: 677936656 Gmail: ekEmbed@gmail.com
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]()
Вариант 1 - выравнивание по 4 байта.
Вариант 2 - sizeof(short)==4. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 639
|
![]()
Какие варианты? Вы о чем? Я ж даже ссылку дал... Это же есть и хелпе, и в мсдн.
ICQ: 677936656 Gmail: ekEmbed@gmail.com
|
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]() Цитата:
Ответ на вопрос ТС - sizeof(struct_obj) не "должен" быть равен чему-то конкретному. Стандарт C++ для большинства типов не задаёт строго их размер - это раз и не гарантирует, что sizeof для структуры равен сумме sizeof для всех членов, явно указанных в её объявлении - это два. |
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 04.11.2012
Сообщений: 33
|
![]()
Использую Microsoft Visual C++ 2010. Ezhik Kihze, спасибо за ссылку.
Код:
Код:
Код:
![]() Однако весьма непростая тема. |
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]() Цитата:
Но, ещё раз - стандарт C++, если не изменяет память, предоставляет ровно одну гарантию: sizeof(char)==1. Всё остальное зависит от реализации, и не всегда очевидным образом. Скажем, размер такой структуры Код:
|
|
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 639
|
![]() Цитата:
ICQ: 677936656 Gmail: ekEmbed@gmail.com
|
|
![]() |
![]() |
![]() |
#10 |
С++, Delphi
Форумчанин
Регистрация: 24.11.2012
Сообщений: 495
|
![]()
Если такая структура будет иметь размер.. то будут проблемы с памятью.
Я проверил и у меня просто вышибло прогу. ![]()
Если помог, тут весы есть
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как определить размер физического диска? | Robin_ | Общие вопросы Delphi | 7 | 18.01.2016 07:11 |
Как программно определить размер текущей БД? | Swatch | Microsoft Office Access | 2 | 18.10.2012 21:32 |
Как в Delphi определить размер файла? | Nomad | Помощь студентам | 7 | 10.08.2010 08:33 |
Как определить размер скрытого объекта? | rolling | JavaScript, Ajax | 7 | 28.09.2009 19:39 |
Как определить размер кадра в AVI | sun | Общие вопросы C/C++ | 1 | 18.11.2007 06:00 |