首頁 > 後端開發 > C++ > 在 C 中檢查檔案是否存在的最快方法是什麼?

在 C 中檢查檔案是否存在的最快方法是什麼?

Susan Sarandon
發布: 2024-12-17 03:26:25
原創
115 人瀏覽過

What's the Fastest Way to Check for File Existence in C  ?

最佳化C 語言中的檔案存在性檢查

檢查檔案是否存在是程式設計中的一項基本操作,尤其是在處理大量文件時文件。在 C 語言中,針對此任務存在多種方法,具有不同的效能特徵。

為了確定最有效的方法,使用測試程序進行了基準測試,該測試程序運行每種方法100,000 次,一半在現有文件上運行,一半在現有文件上運行不存在的文件。結果(5 次運行的平均值)總結如下:

Method Time
ifstream 0.485s
FILE fopen 0.302s
posix access() 0.202s
posix stat() 0.134s

從結果中可以明顯看出,posix stat() 是最快的方法,只需 0.134 秒即可完成 100,000 次檢查。此方法利用 stat 系統呼叫來獲取有關文件的信息,包括其存在性。

要在您的Exist 函數中實作posix stat(),您可以使用以下程式碼:

inline bool exist(const std::string& name)
{
  struct stat buffer;
  return (stat (name.c_str(), &buffer) == 0); 
}
登入後複製

透過利用posix stat(),您可以有效地驗證C 程式中文件的存在。這種方法在處理大型文件集時特別有價值,因為它的速度可以顯著減少整體處理時間。

以上是在 C 中檢查檔案是否存在的最快方法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板