如果您需要的文件是否爲文件的大小和創建日期,是否有替代方案需要使用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. 選擇其他
- 2. 選擇框選擇其他
- 3. AppInviteReferral已棄用。有其他選擇嗎?
- 4. Objective-C的其他選擇
- 5. fsockopen的其他好選擇?
- 6. 單選的`.each`方法有其他選擇嗎?
- 7. 選擇列並隱藏其他選擇
- 8. 選擇,其中id =來自其他選擇的多個
- 9. 選擇其他分區
- 10. 這與其他選擇器
- 11. Python:選擇其他值
- 12. 不能選擇其他
- 13. JSONP或其他選擇?
- 14. Solr或其他選擇
- 15. 當其他選擇列表
- 16. 其他列選擇列
- 17. jQuery選擇找到其他
- 18. Android LVL可以使用ANDROID_ID的其他選擇嗎?
- 19. 在java中擴展枚舉的其他選擇嗎?
- 20. 原子包line-diff-details還有其他的選擇嗎?
- 21. Application.Exit是否不關閉我的程序,有其他選擇嗎?
- 22. ASP.NET是否ListViews是多餘的?有其他選擇嗎?
- 23. VueJS 2:修改其他選擇元素的選擇選項
- 24. 如何根據其他選擇的選項禁用選擇?
- 25. 選擇其他行的值:mysql的
- 26. 選擇一個複選框,選擇其他複選框
- 27. 顯示一個選擇選項基於其他選擇選項
- 28. Codeigniter基於其他選擇選項更新選擇選項
- 29. 重置基於其他選擇框的值的選擇框
- 30. 變化的其他選擇值與jQuery
你在使用什麼操作系統? – 2013-04-22 14:37:19
'fstat'也會給你一個大小,所以使用這些信息應該減少操作次數。 – 2013-04-22 14:38:50
fstat需要打開文件。如果你打算打開列表中的文件,無論如何fstat是一個不錯的選擇。如果不是,則使用stat()。和。這些調用中的任何一個都可以像查找文件元數據一樣快。如果你想要的只是文件元數據。 – 2013-04-22 14:42:20