2012-02-19 97 views
1

我用:创建从十六进制二进制文件用C

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

得到二进制文件的十六进制表示。之后,我将此表示保存到txt文件。

现在我想执行反操作。我怎样才能从我的十六进制数据创建二进制文件?

+0

蒂莫西的答案回答你的问题 - 我必须问,你为什么这样做?如果你正在写一个二进制文件(注意:不是ASCII但是二进制),没有理由写十六进制。你应该阅读和编写更快更小的二进制代码,并且需要更少的代码(总是记住,更少的代码就是更好的代码)。 – 2012-02-19 23:52:10

+0

在第一个程序中,我使用十六进制表示我的二进制文件创建一个txt文件,例如一些pdf文件。现在在第二个程序中,我想从txt文件中读取数据,并从中创建二进制文件的副本。也许这有点复杂,但我需要这样的东西。 – matyyyy 2012-02-19 23:58:03

回答

4

sscanf()会让你做必要的sprintf()

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

重复的倒数。