如果您需要的文件是否爲文件的大小和創建日期,是否有替代方案需要使用fstat()
函數?
我知道我們可以使用ftell()
來獲取文件大小,但我也希望創建時間和日期。我不想使用fstat()
的原因是,如果文件列表很長,則需要很長時間。fstat的其他選擇嗎?
1
A
回答
3
如果文件已打開,請使用fstat
,如果您只有文件名並且不在意打開文件,請使用stat
。它的速度儘可能快。無論你使用什麼其他函數,內部將使用stat
或fstat
,或者至少在內核中使用其等價物。這些系統調用需要從文件系統中讀取元數據,如果這不在緩存中,它將進入磁盤並需要時間。沒有辦法繞過它。
+0
+1。如果fstat很慢,這可能是因爲目錄i節點太大。使用較小的目錄條目可以加速讀取i節點中的元數據。 – TrueY 2013-04-22 15:45:27
+0
非常感謝所有的評論。 我正在使用fstat()來訪問元數據並獲取創建時間/日期。我正在考慮只獲取大小和創建時間/日期,而不是fstat()函數返回的大結構。從答覆中,我認爲沒有其他更好的選擇。 – CatchMeIfYouTry 2013-04-22 19:57:58
相關問題
- 1. DXTREME有其他選擇嗎?
- 2. Browserify有其他選擇嗎?
- 3. libinds有其他選擇嗎?
- 4. 選擇其他
- 5. 選擇框選擇其他
- 6. Apache Commons SCXML有其他選擇嗎?
- 7. AppInviteReferral已棄用。有其他選擇嗎?
- 8. 使用其他選擇框的值創建其他選擇框
- 9. 選擇從其他
- 10. fsockopen的其他好選擇?
- 11. Objective-C的其他選擇
- 12. 單選的`.each`方法有其他選擇嗎?
- 13. 根據其他選擇填充選擇
- 14. 選擇列並隱藏其他選擇
- 15. 選擇,其中id =來自其他選擇的多個
- 16. 其他列選擇列
- 17. 當其他選擇列表
- 18. 如果其他選擇
- 19. 選擇列與其他表
- 20. jQuery選擇找到其他
- 21. JSONP或其他選擇?
- 22. JComboBox記住其他選擇
- 23. 這與其他選擇器
- 24. 選擇其他分區
- 25. 不能選擇其他
- 26. Solr或其他選擇
- 27. Python:選擇其他值
- 28. 這個簡單的Javascript驗證的其他選擇嗎?
- 29. 選擇/取消選擇基於選擇從其他多選
- 30. 在IE6 +中使用gridster的其他選擇嗎?
你在使用什麼操作系統? – 2013-04-22 14:37:19
'fstat'也會給你一個大小,所以使用這些信息應該減少操作次數。 – 2013-04-22 14:38:50
fstat需要打開文件。如果你打算打開列表中的文件,無論如何fstat是一個不錯的選擇。如果不是,則使用stat()。和。這些調用中的任何一個都可以像查找文件元數據一樣快。如果你想要的只是文件元數據。 – 2013-04-22 14:42:20