2011-10-09 16 views
1

我正在製作一個程序,它需要做的事情之一就是傳輸文件。如果文件系統支持大小爲X的文件,我希望能夠在開始移動文件之前進行檢查。解決此問題的最佳方法是什麼?我將如何去檢查我正在使用的文件系統C

+0

粗略地說,你可能期望的'X'的最大值是多少? – NPE

回答

2

繼續使用ftruncate之類的函數在移動之前預先創建所需大小的文件,並在出現錯誤時執行相應的錯誤處理。

+0

應該注意的是,能夠使用'ftruncate'創建一個大小爲X的文件並不一定意味着該文件在數據填充之後也可能存在(因爲一些文件系統允許稀疏文件,空塊通常沒有空間。可能沒有足夠的可用空間來存放非稀疏文件) – Hasturkun

2

沒有C標準通用API。你可以簡單地嘗試創建一個文件並寫入文件,直到它達到你想要的大小,然後刪除它,但即使這樣也不能保證給你所需要的信息 - 例如另一個進程可能會寫入一個大的文件在測試和轉移之間存檔,佔用您希望使用的空間。

相關問題