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

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

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2012, 22:06   #1
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию Конвертер из файла в константный массив для С++

Поделитесь программой с помощью которой можно конвертировать произвольный файл в константный массив для С++ чтобы можно былы его вставить в програму

Например, есть картинка я хочу чтобы программа её преобразовала в строку типа
Код:
const BYTE file[] = {0x12,0x34,0x56,..........}
rpy3uH вне форума Ответить с цитированием
Старый 24.05.2012, 22:39   #2
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

программы нет.

но звучит как десять минут кодить.

кстати, а зачем это?
можно ж в ресурс впихнуть. или это, чтоб враги не догадались?
f.hump вне форума Ответить с цитированием
Старый 24.05.2012, 22:41   #3
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от f.hump Посмотреть сообщение
можно ж в ресурс впихнуть.
ресурс как раз-таки не нужен. скорее всего самому придётся пилить
rpy3uH вне форума Ответить с цитированием
Старый 24.05.2012, 23:05   #4
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

Код:
#include <fstream>
#include <string>

using namespace std;



int wmain(int argc, wchar_t ** argv) {
	if (argc<2) return 1;

	wstring fname(argv[1]);
	fname.resize(fname.find_last_of(L"."));
	fname += L"_str.h";

	fstream infile(argv[1],fstream::in | fstream::binary);

	infile.seekg(0, ios::end);
	int lngth = infile.tellg();

	if (lngth<0) {
		infile.close();
		return 2;
	}

	infile.seekg(0, 0);

	char * buffer = new char [lngth], * ipoint(0);

	if (buffer) { 
		infile.read(buffer,lngth);
		fstream outfile(fname,fstream::out);
		
		outfile << "const BYTE file[] = {";
		outfile << hex;
		for (int i(0);i<lngth;i++) outfile << "0x" << (static_cast<unsigned int>(buffer[i]) & 0xFF) << ",";

		outfile.seekp(-1,ios::end);
		outfile << "};" << endl;


		delete [] buffer;
	}
	infile.close();

	return 0;
}
f.hump вне форума Ответить с цитированием
Старый 24.05.2012, 23:08   #5
BitHo0k
 
Регистрация: 23.05.2012
Сообщений: 4
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
Поделитесь программой с помощью которой можно конвертировать произвольный файл в константный массив для С++ чтобы можно былы его вставить в програму

Например, есть картинка я хочу чтобы программа её преобразовала в строку типа
Код:
const BYTE file[] = {0x12,0x34,0x56,..........}
Пpога WinHex
BitHo0k вне форума Ответить с цитированием
Старый 25.05.2012, 09:21   #6
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

BitHo0k, кстати да, совсем забыл про HEX редакторы, во FlexHEX уже встроена такая фишка
Изображения
Тип файла: jpg screen1.JPG (63.7 Кб, 23 просмотров)
rpy3uH вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
txt2html конвертер для создания chm-файлов alexBlack Софт 8 22.09.2016 12:28
Алгоритм линейный по скорости и константный по памяти Petrum Общие вопросы C/C++ 2 05.11.2011 11:04
"Константный класс" AJlekceu Общие вопросы C/C++ 6 20.11.2010 21:43