我们说我有一个内容文件:
0a00 910c 4e65 7467
我想分别打印出每两个数字。我目前的方法是使用printf("%x\n", fgetc(file))
。但我得到了这些结果:
我的问题是:其他零在哪里?我怎样才能确保它们也包括在内?
答案 0 :(得分:0)
文件内容为十六进制。他们不是"数字"因为每个人都是一个角色。你不打印"两个数字"。您正在打印一个字节。 %x
说明符用于十六进制。
当您执行fgetc()
时,您获得一个字节。
一个字节由两个十六进制数表示。这是因为一个字节可以有256
个值,而一个十六进制数是16
个值,而两个十六进制数字总共有256
个组合。
然后逐个列出这些字符。 0a
变为a
。 00
变为0
。等等。