|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.01.2013, 10:20 | #1 |
Пользователь
Регистрация: 04.11.2012
Сообщений: 33
|
Как определить размер структуры
Здравствуйте. Читаю из файла куски данных, которые записываю в объект структуры:
Код:
Код:
p.s. может быть подобная тема есть, но мобильный интернет не позволяет нормально поюзать поиск |
30.01.2013, 10:25 | #2 |
Форумчанин
Регистрация: 11.01.2013
Сообщений: 149
|
Скорее всего идет выравнивание структур данных на 4 байта
Может это и чушь, но это моя чушь и я ее никому не отдам.
|
30.01.2013, 10:39 | #3 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 639
|
ICQ: 677936656 Gmail: ekEmbed@gmail.com
|
30.01.2013, 10:51 | #4 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Вариант 1 - выравнивание по 4 байта.
Вариант 2 - sizeof(short)==4. |
30.01.2013, 11:45 | #5 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 639
|
Какие варианты? Вы о чем? Я ж даже ссылку дал... Это же есть и хелпе, и в мсдн.
ICQ: 677936656 Gmail: ekEmbed@gmail.com
|
30.01.2013, 11:58 | #6 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Цитата:
Ответ на вопрос ТС - sizeof(struct_obj) не "должен" быть равен чему-то конкретному. Стандарт C++ для большинства типов не задаёт строго их размер - это раз и не гарантирует, что sizeof для структуры равен сумме sizeof для всех членов, явно указанных в её объявлении - это два. |
|
30.01.2013, 13:07 | #7 |
Пользователь
Регистрация: 04.11.2012
Сообщений: 33
|
Использую Microsoft Visual C++ 2010. Ezhik Kihze, спасибо за ссылку.
Код:
Код:
Код:
Однако весьма непростая тема. |
30.01.2013, 13:17 | #8 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Цитата:
Но, ещё раз - стандарт C++, если не изменяет память, предоставляет ровно одну гарантию: sizeof(char)==1. Всё остальное зависит от реализации, и не всегда очевидным образом. Скажем, размер такой структуры Код:
|
|
30.01.2013, 14:52 | #9 | |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 639
|
Цитата:
ICQ: 677936656 Gmail: ekEmbed@gmail.com
|
|
30.01.2013, 18:33 | #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 |