我想記憶在給定路徑上對文件數據進行操作的函數的結果。如何確定文件數據自上次處理以來是否發生了變化?哪些信息標識路徑中的文件數據保持不變?
我在考慮將包含st_dev
, st_ino
, and st_mtime
的密鑰映射到結果。這足夠嗎?
我想記憶在給定路徑上對文件數據進行操作的函數的結果。如何確定文件數據自上次處理以來是否發生了變化?哪些信息標識路徑中的文件數據保持不變?
我在考慮將包含st_dev
, st_ino
, and st_mtime
的密鑰映射到結果。這足夠嗎?
文件大小和文件內容的校驗和在確定唯一性方面會更進一步。
Checksumming是不可能的,自己處理數據比已經更便宜。我不在這裏尋找天真的文件大小/校驗和組合。 –
大多數應用程序只看m_time,假設它沒有改變,那麼文件也是如此。這對於大多數應用來說顯然是足夠的。
我懷疑st_dev的變化,st_ino表示文件被另一個文件替換了,但你可能需要知道它,所以我建議st_ino + st_mtime – sherpya