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

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

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

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

12.05.2014, 11:12. Просмотров 275. Ответов 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 и не то, что записывала??
чего не так я делаю?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2014, 11:12     Добавление данных в конец файла .bmp
Посмотрите здесь:

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

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

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

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

Добавление символа в конец строки - C++
char c,st=""; Я хочу формировать строку st, добавляя в ее конец символы c один за другим. Как это сделать?

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

Добавление в конец односвязного списка - C++
Не получается написать эту функцию.Добавление в начало более тривиально.Сам список представлен так. Насколько я знаю,нужно 2 случая...

Добавление числа в начало и конец - C++
Дано число n Добавить по единице вначале и в конце записи числа n. как добавить единицу в конце - знаю, а как вначале? подскажите,...

Добавление в конец двусвязного списка - C++
Помогите найти ошибку в коде: не работает добавление в конец. Список формируется добавлением в начало! Функция добавления: ...

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

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

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6284 / 5887 / 1908
Регистрация: 18.12.2011
Сообщений: 15,113
Завершенные тесты: 1
12.05.2014, 12:53     Добавление данных в конец файла .bmp #2
А не проще отойти от конца
C++
1
fseek(f, -2*sizeof(uchar)-sizeof(ushort), SEEK_END);
и саму bmp читать не придется!
Yandex
Объявления
12.05.2014, 12:53     Добавление данных в конец файла .bmp
Ответ Создать тему
Опции темы

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