Форум программистов, компьютерный форум CyberForum.ru

Работа с BMP форматом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Помогите с блок-схемой и алгоритмом http://www.cyberforum.ru/cpp/thread14930.html
Есть только листинг программы(((((((((( lines.cpp: #include "windows.h" #include "resource.h" #include "random.h" #include <list> #include <queue> #include <stack>
C++ Найти числа из массива кратных 3 Я написал прогу "найти числа из массива кратных 3" #include <stdio.h><math.h> main() { int a,i,s; printf("\n 3adaite 4isla: \n"); for(i=0;i<10;i++) scanf("%d",&a); for(i=0;i<10;i++){ http://www.cyberforum.ru/cpp/thread14921.html
C++ Builder или Visual C++? C++
Подскажыте, с чего лучше изучать визуальное програмирование: с++Builder или visual c++??
Существуют ли методы побитового сравнения строк? C++
Существуют ли методы побитового сравнения строк? Нужно искать и сравнивать комбинацию 126 бит. Комбинация известна. А сравнивать надо с одержимым файла. Как сделать это?
C++ Реализовать АТД Очередь с помощью массива http://www.cyberforum.ru/cpp/thread14784.html
Всем привет! у меня есть некоторые зарисовки, но никак не могу привести программу к концу. Задание: Реализовать АТД Очередь с помощью массива; Используя эту реализацию, написать функцию, которая за один проход по заданному целочисленному массиву выводит на печать его элементы в следующем порядке: сначала все четные, потом – нечетные.:umnik: кусочек программы который у меня есть:...
C++ Удаление динамической памяти В книгах по С++ я читал про утечку памяти. Я решил создать программу, в которой будет выделаться 1 Гб памяти и не удаляться. Будучи запущенной много раз, она так и не зависла. Для большей уверенности я поставил галочку release и запускал её не через F5, а через exe-файл. Получается, что в C++ есть сборщик мусора? P.S. Пользуюсь Visual Studio 2008. подробнее

Показать сообщение отдельно
Bota2827
Сообщений: n/a
13.05.2009, 16:13     Работа с BMP форматом
проблема в смещении внутри структуры:
C++
1
2
3
4
5
6
7
typedef struct {
 WORD type;    //смещение 0x00
 // здесь в памяти будет дырка размером 2 байта
 DWORD size;  // смещение 0x04
 WORD r1,r2;   // итд
 DWORD OffBits;
} BMPHEADER;
поэтому при чтении из файла первые два байта переменной DWORD size считываются в дырку и далее всё смещено на два байта.
дырки в структурах образуются потому что все переменные в с структуре хранятся на смещениях кратным их размеру.
можно попробовать прочитать каждую из переменных отдельно. Я сделал стдельно переменную WORD type и тогда структура получилась без дырок. прочитал type потом сразу всю структуру и всё работает отлично.
 
Текущее время: 03:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru