ホームページ > バックエンド開発 > 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() が最も速いメソッドとして浮上し、100,000 のチェックを完了するのにわずか 0.134 秒しかかかりません。このメソッドは、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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート