2012-02-19 2 views
1

Я использовал:Создание двоичных файлов из шестнадцатеричной в C

sprintf(hex, "%02x", (unsigned int) buffer[0] & 0xff); 

получить шестнадцатеричное представление двоичного файла. После этого я сохраняю это представление в txt-файле.

Теперь я хотел бы выполнить обратную операцию. Как я могу создать двоичный файл из моих шестнадцатеричных данных?

+0

Ответ Тимоти отвечает на ваш вопрос - я должен спросить, почему вы это делаете? Если вы пишете в двоичный файл (обратите внимание: не ASCII, а двоичный), нет никакой причины писать гекс. Вы должны читать и писать двоичные файлы, которые быстрее и меньше, и потребуют меньше кода (всегда помните, меньше кода лучше кода). –

+0

В первой программе я создаю txt-файл с шестнадцатеричным представлением моего двоичного файла, например, некоторого pdf-файла. И теперь во второй программе я бы хотел прочитать данные из txt-файла и создать из него копию моего двоичного файла. Может быть, это немного сложно, но мне нужно что-то подобное. – matyyyy

ответ

4

sscanf() позволит вам сделать инверсию sprintf()

int output; 
int we_read_an_integer = sscanf(inputString, "%02x", &output); 

Повторять по мере необходимости.