ホームページ  >  記事  >  バックエンド開発  >  C でファイルのサイズを効率的に判断するにはどうすればよいですか?

C でファイルのサイズを効率的に判断するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-15 14:06:03275ブラウズ

How can I efficiently determine the size of a file in C  ?

C でのファイル サイズの取得

C では、ファイルのサイズを決定することは、さまざまなアプリケーションにとって重要なタスクです。利用可能なアプローチの中で、一般的に使用されるクロスプラットフォームな方法には、fstream ライブラリの利用が含まれます。このソリューションは、信頼性が高く、簡単で、外部ライブラリの依存関係がないことが証明されています。

ファイル サイズを決定するには、ファイル パスを引数として受け取る filesize 関数が使用されます。この関数は std::ifstream を利用してバイナリ モードでファイルを開き、ate モードを使用してその内容を最後まで読み取ります。最後に、ファイル サイズをバイト単位で表す Tellg() を使用してファイル内の現在位置を取得します。

ここに filesize 関数の図を示します。

#include <fstream>

std::ifstream::pos_type filesize(const char* filename)
{
    std::ifstream in(filename, std::ifstream::ate | std::ifstream::binary);
    return in.tellg(); 
}

ただし、これは重要です。この方法は、特に特定のファイル システムの場合、必ずしも正確な結果が得られるわけではないことに注意してください。より信頼性の高い解決策を得るには、stat() 関数や _stat() 関数の使用などの代替アプローチを検討してください。

以上がC でファイルのサイズを効率的に判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。