Linux的cmp
命令逐字節比較兩個文件,並返回第一個差異(如果現在有差異,則返回第一個差異)。替換Linux內置cmp實用程序
在C中可以做什麼樣的事情?一旦發現差異,它會如同比較getchar
或fscanf
和break
這兩個調用一樣簡單嗎?
Linux的cmp
命令逐字節比較兩個文件,並返回第一個差異(如果現在有差異,則返回第一個差異)。替換Linux內置cmp實用程序
在C中可以做什麼樣的事情?一旦發現差異,它會如同比較getchar
或fscanf
和break
這兩個調用一樣簡單嗎?
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]
謝謝。我下載了GNU工具源代碼,並且不包含'cmp'。 – dsadsadsa
不客氣 –
爲什麼不試試呢? –
你爲什麼不看「cmp」程序的來源?這可能很簡單。 – Barmar