在fgetc中包含零

时间:2016-09-24 12:33:58

标签: c fgetc

我们说我有一个内容文件:

0a00 910c 4e65 7467

我想分别打印出每两个数字。我目前的方法是使用printf("%x\n", fgetc(file))。但我得到了这些结果:

  • 0
  • 91
  • C
  • 4E
  • 65
  • 74
  • 67

我的问题是:其他零在哪里?我怎样才能确保它们也包括在内?

1 个答案:

答案 0 :(得分:0)

文件内容为十六进制。他们不是"数字"因为每个人都是一个角色。你不打印"两个数字"。您正在打印一个字节。 %x说明符用于十六进制。

当您执行fgetc()时,您获得一个字节。

一个字节由两个十六进制数表示。这是因为一个字节可以有256个值,而一个十六进制数是16个值,而两个十六进制数字总共有256个组合。

然后逐个列出这些字符。 0a变为a00变为0。等等。