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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Koketka
5 / 5 / 0
Регистрация: 27.11.2009
Сообщений: 232
#1

Добавление данных в конец файла .bmp - C++

12.05.2014, 11:12. Просмотров 290. Ответов 1
Метки нет (Все метки)

Добрый день!

хочу записывать некую информацию в конец bmp файла

делаю так:
C++
1
2
3
4
5
6
7
8
9
10
11
uchar day = 12;
uchar month = 5;
ushort year = 2014;
 
FILE *f = fopen(fname, "ab");
 
fwrite(&day, sizeof(day), 1, f);
fwrite(&month, sizeof(month), 1, f);
fwrite(&year, sizeof(year), 1, f);
 
fclose(f);
fname - это путь к файлу с картинкой bmp

читаю:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
FILE *f = fopen(fname, "rb");
 
size_t res;
 
    BITMAPFILEHEADER pBMFH;
    BITMAPINFOHEADER pBMIH;
 
    res = fread(&pBMFH, 1, sizeof(BITMAPFILEHEADER), f);
    fseek(f, sizeof(BITMAPFILEHEADER), SEEK_SET);
    if (res != sizeof(BITMAPFILEHEADER)) {fclose(f); return -1;}
 
    res = fread(&pBMIH, 1, sizeof(BITMAPINFOHEADER), f);
    fseek(f, sizeof(BITMAPINFOHEADER), SEEK_SET);
    if (res != sizeof(BITMAPINFOHEADER)) {fclose(f); return -2;}
 
    int SizeImagePix = pBMIH.biSizeImage;
    fseek(f, SizeImagePix, SEEK_SET);
 
uchar day;
    uchar month;
    ushort year;
 
res = fread(&day, 1, sizeof(day), f); fseek(f, sizeof(day), SEEK_SET);
    res = fread(&month, 1, sizeof(month), f); fseek(f, sizeof(month), SEEK_SET);
    res = fread(&year, 1, sizeof(year), f); fseek(f, sizeof(year), SEEK_SET);
всегда читается одно и тоже в day, month, year и не то, что записывала??
чего не так я делаю?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2014, 11:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Добавление данных в конец файла .bmp (C++):

Запись данных в конец файла с переходом на новую строку - C++
Добрый день! Произвожу запись в файл .txt проблема в том что пишет в одну строку, не переводя каретку на новою. Помогите, что не так. ...

Ввод данных, добавление данных, получение информации из файла по заданным критериям выборки - C++
Все привет!!!Обращаюсь к вам за помощью...никак не получается решить задачку... Суть такая....Написать на языке программирования С++,...

Добавление нового указателя в конец массива указателей, удаление указанного элемента, добавление указателей - C++
Здравствуйте. Помогите, пожалуйста, разобраться с одним большим заданием. Задание пока в процессе написания, но уже наверное есть ошибки....

Добавление данных в двумерный массив из файла - C++
int tab = { { ' ', 'a', 'b', 'c', }, { 0, 1, 2, 3 }};Как данный массив заполнить тем же самым только из файла?

Добавление в конец списка - C++
Привет всем, необходимо реализовать алгоритм вставки. В общем беру элемент на нечетной позиции списка и вставляю его в конец. 3-й час...

Map. Добавление в конец - C++
Ребята помогите разобраться пытаюсь в map засунуть <string ,string>. Вот такие значения допустим: "0" "1" "00" "11". Вот таким образом: ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
12.05.2014, 12:53 #2
А не проще отойти от конца
C++
1
fseek(f, -2*sizeof(uchar)-sizeof(ushort), SEEK_END);
и саму bmp читать не придется!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2014, 12:53
Привет! Вот еще темы с ответами:

Списки, добавление элементов в конец - C++
Подскажите пожалуйста, что нужно изменить, чтобы добавление производилось в конец списка: // Добавление в начало списка void...

Добавление элемента в конец списка - C++
Сначала добавляет первый элемент, а далее не хочет? Посмотрите свежим глазом, а то я лагаю! void List::bound(char data) {if (!Head) {...

Добавление элемента в конец списка - C++
Решил перегрузить функцию добавления элемента, чтоб пользователь мог выбрать куда добавить новый элемент, в начало (перед первым) или в...

добавление в конец массива char - C++
Пусть имеется массив char* mass = new char который заполняется чем-то типо "klj kljh kljh lkj hlk jhiou oiuh" Есть еще один массив ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru