быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,686
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Есть структура, компилятор считывает некоторые её поля ТОЛЬКО из адресов, кратным двум, а их там нет! (полей), как быть?06.03.2012, 13:30. Показов 713. Ответов 6
Метки нет (Все метки)
То есть вот структура:
Ну я извращаюсь щас всяко, так например:
0
|
06.03.2012, 13:30 | |
Ответы с готовыми решениями:
6
Как проверить запись на существование и добавить ее в базу данных если ее там нет или отредактировать если она там есть? Вернуть номер позиции заданного символа в строке, если он там есть, и 0, его там нет Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
31 / 31 / 6
Регистрация: 15.12.2011
Сообщений: 108
|
|
06.03.2012, 14:39 | 2 |
записать нужно так
fwrite(&tgaheader, sizeof(tgaheader)); а считать fread(&tgaheader, sizeof(tgaheader)); но луче всего создать функцию записи/сохранения, которая бы записывала/считывала каждый член структуры в отдельности.
1
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
||||||
06.03.2012, 15:48 | 3 | |||||
Читай про выравнивание.
Можешь обернуть свою структуру в прагмы (они могут отличаться в твоем компиляторе, RTFM документацию на него):
1
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,686
|
||||||
07.03.2012, 00:41 [ТС] | 4 | |||||
CheshireCat, спасибо, помогло
0
|
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
07.03.2012, 00:43 | 5 |
kravam, внимание вопрос: зачем тебе это? Выравнивание компилятор не чисто поржать делал.
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,686
|
||||||
07.03.2012, 00:53 [ТС] | 6 | |||||
Чтобы можно было обращаться к полю структуры
И да, а зачем он выравнивает? Наверное, чтобы прога побыстрее работала, но в моём случае это некритично. Была бы какая другая причина- наверное, он бы не скомпилил код, не? Добавлено через 6 минут И кстати, сразу же договорися о терминах- при считывании из файла в структуру компилятор НЕ ВЫРАВНИВАЕТ, он перегоняет содержимое структуры КАК ЕСТЬ. Но вот при считывании из этого участка памяти программа считает, что все поля выровнены.
0
|
Программист
|
||||||
07.03.2012, 01:20 | 7 | |||||
Шилдт описывал такую вещь как указатель на поле структуры, может пригодится:
0
|
07.03.2012, 01:20 | |