Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2011, 15:39   #1
Mizar
 
Регистрация: 23.11.2011
Сообщений: 3
По умолчанию нужен генератор кода для gif файлов

Добрый день.
Подскажите пожалуйста где взять готовую программу или как написать самому?

Я пишу на Си под микрочиповские контроллеры.
Приложения под Windows не делал.

Мне нужно для одного проекта (Web server на микроконтролере) в прошивку контроллера загнать картинку.

Изображение gif представить в блокноте в виде:

0x47, 0x49, 0x46, 0x38, 0x39, 0x61, 0x0a, 0x00, 0x0a, 0x00, 0xa2, 0x04, 0x00, 0xff, 0xdf, 0xdf,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0xff, 0x0b, 0x4e, 0x45, 0x54, 0x53, 0x43, 0x41, 0x50, 0x45,

Блокнот при просмотре в 16 виде покажет только
100001: 47 49 46 38......
Что собственно не одно и тоже.

Буду признателен если б кто написал прогу для этой цели.
Спасибо.
Mizar вне форума Ответить с цитированием
Старый 23.11.2011, 16:00   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Mizar

если по-простому, то примерно так:

Код:
#include <iostream>
#include <fstream>
#include <locale>
#include <iomanip>

void print_bin(std::istream& is)
{
	while (!is.eof())
	{
		char ch;
		is.get(ch);
		std::cout << "0x" << std::hex << std::setw(2) << (int) ch;

		if (is.peek() != EOF)
			std::cout << ", ";
	}
}

int main(int argc, char* argv[])
{
	const std::locale l("");
	std::locale::global(l);	

	std::cout.imbue(l);
	std::cerr.imbue(l);

	if (argc > 1)
	{
		std::ifstream ifs(argv[1], std::ios::binary | std::ios::in);
		ifs.imbue(l);

		print_bin(ifs);
	}
	else
	{
		std::cerr << "Usage: PrintBin <file>" << std::endl;
		return 1;
	}

	return 0;
}
Rififi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен макрос или программа для пакетной обработки файлов srgg Microsoft Office Word 2 23.05.2012 13:05
Нужен макрос для сбора столбцов из разных файлов в одной таблице lemann Microsoft Office Excel 6 17.10.2011 11:58
Генератор шестнадцатиричного кода для LCD Nokse Помощь студентам 2 13.02.2011 21:30
Нужен компонент или библитека для вычисления cheksum файлов GurAnvir Компоненты Delphi 2 16.11.2009 11:27