Linux的cmp
命令逐个字节地比较两个文件,并返回第一个差异(如果现在存在差异,则返回任何内容)。
在C中可以做什么样的事情或其他事情?只要发现差异,它就像比较getchar
或fscanf
和break
的两个来电一样简单吗?
答案 0 :(得分:1)
Linux's cmp command compares two files, byte-by-byte ...
进行一些优化:
Get the optimal block size of the files.
Find the rough position of the first difference by reading words, not bytes.
它会像比较两个getchar调用那样简单吗? fscanf并在发现差异后立即中断?
它有一些额外的东西:
-i, --ignore-initial=SKIP
skip first SKIP bytes of both inputs
-i, --ignore-initial=SKIP1:SKIP2
skip first SKIP1 bytes of FILE1 and first SKIP2 bytes of FILE2
-n, --bytes=LIMIT
compare at most LIMIT bytes
您可以查看cmp.c [source code]