1
sprintf(hex, "%02x", (unsigned int) buffer[0] & 0xff);
得到二进制文件的十六进制表示。之后,我将此表示保存到txt文件。
现在我想执行反操作。我怎样才能从我的十六进制数据创建二进制文件?
sprintf(hex, "%02x", (unsigned int) buffer[0] & 0xff);
得到二进制文件的十六进制表示。之后,我将此表示保存到txt文件。
现在我想执行反操作。我怎样才能从我的十六进制数据创建二进制文件?
sscanf()
会让你做必要的sprintf()
int output;
int we_read_an_integer = sscanf(inputString, "%02x", &output);
重复的倒数。
蒂莫西的答案回答你的问题 - 我必须问,你为什么这样做?如果你正在写一个二进制文件(注意:不是ASCII但是二进制),没有理由写十六进制。你应该阅读和编写更快更小的二进制代码,并且需要更少的代码(总是记住,更少的代码就是更好的代码)。 – 2012-02-19 23:52:10
在第一个程序中,我使用十六进制表示我的二进制文件创建一个txt文件,例如一些pdf文件。现在在第二个程序中,我想从txt文件中读取数据,并从中创建二进制文件的副本。也许这有点复杂,但我需要这样的东西。 – matyyyy 2012-02-19 23:58:03