【问题标题】:Creating binary files from hex in C在 C 中从十六进制创建二进制文件
【发布时间】:2012-02-19 23:40:29
【问题描述】:

我用过:

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

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

现在我想执行逆运算。如何从我的十六进制数据创建二进制文件?

【问题讨论】:

  • 虽然蒂莫西的回答回答了您的问题 - 我必须问,您为什么要这样做?如果您正在写入二进制文件(注意:不是 ASCII 而是二进制),则没有理由写入十六进制。你应该读写更快更小的二进制文件,并且需要更少的代码(永远记住,更少的代码就是更好的代码)。
  • 在第一个程序中,我创建了一个 txt 文件,其中包含我的二进制文件的十六进制表示,例如一些 pdf 文件。现在在第二个程序中,我想从 txt 文件中读取数据并从中创建我的二进制文件的副本。也许它有点复杂,但我需要这样的东西。

标签: c binary hex


【解决方案1】:

sscanf() 会让你做 sprintf() 的逆操作

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

必要时重复。

【讨论】:

    猜你喜欢
    • 2014-04-08
    • 2012-03-06
    • 1970-01-01
    • 2011-02-07
    • 1970-01-01
    • 2014-06-10
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多