C 十六进制代码差异

C 十六进制代码差异,c,hex,C,Hex,我正在做一个作业,写一个程序,镜像ac(1)。ac和myaac的输出均为: " total 5.80\n" 我运行了aac-file xyz>out1和ac-file xyz>out2 但是,当使用diff-out1和out2时,我得到: 1c1 < total 5.80 --- > total 5.80 -bash-3.2$ od out1 0000000 020040 020040 020040

我正在做一个作业,写一个程序,镜像ac(1)。
ac
和my
aac
的输出均为:

"       total        5.80\n"
我运行了
aac-file xyz>out1
ac-file xyz>out2

但是,当使用
diff-out1
out2
时,我得到:

1c1
<        total        5.80
---
>       total        5.80
-bash-3.2$ od out1
0000000 020040 020040 020040 072040 072157 066141 020040 020040
0000020 020040 020040 027065 030070 000012
0000031
-bash-3.2$ od out2
0000000 072011 072157 066141 020040 020040 020040 020040 027065
0000020 030070 000012
0000023

我不确定差异来自何处。

请参见并注意,
011
是制表符,而您使用的是
040
空格。

如果您运行“od-x”而不是“od”,您的生活会更轻松。前者打印真正的十六进制(逐字节)而不是八进制。但是看起来一个版本的左边有更多的空格,我不得不认为有更好的输出格式;试试
od-a
od-c
。我更喜欢
xxd(1)
输出格式,这使得比较“纯文本”版本和十六进制变量变得容易。(可能可以使
od
输出类似的内容,但是
xxd
在我关心的所有机器上都可用。)