Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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

Например, есть картинка я хочу чтобы программа её преобразовала в строку типа
Код:

const BYTE file[] = {0x12,0x34,0x56,..........}

rpy3uH вне форума   Ответить с цитированием
Старый 24.05.2012, 22:39   #2
f.hump
C/C++, Asm
Профессионал
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Адрес: Home Sweet Home
Сообщений: 1,323
Репутация: 633
По умолчанию

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

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

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

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

Код:

#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
Репутация: 10
По умолчанию

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

Например, есть картинка я хочу чтобы программа её преобразовала в строку типа
Код:

const BYTE file[] = {0x12,0x34,0x56,..........}

Пpога WinHex
BitHo0k вне форума   Ответить с цитированием
Старый 25.05.2012, 09:21   #6
rpy3uH
добрый няша
СуперМодератор
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Адрес: Солнечное Тбилиси
Сообщений: 4,788
Репутация: 1989
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


15:46.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru