ホームページ >バックエンド開発 >C++ >最小限の依存関係で C でファイル サイズを決定するにはどうすればよいですか?

最小限の依存関係で C でファイル サイズを決定するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-23 00:51:12543ブラウズ

How Can I Determine File Size in C   With Minimal Dependencies?

依存関係を最小限に抑えた C でのファイル サイズの決定

ファイル サイズの取得は、さまざまなプログラミング シナリオで共通の要件です。 C では、これを実現するために多数の方法を使用できます。この記事では、外部ライブラリの依存関係を最小限に抑える、移植可能で信頼性の高いアプローチについて説明します。

ファイル サイズを決定する最も簡単な方法の 1 つは、std::ifstream クラスを使用することです。このアプローチは追加のライブラリを必要とせず、Unix、Mac、Windows などのプラットフォームで広くサポートされています。

#include <fstream>

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

このコードでは、ate フラグはファイル ストリームがファイル ストリームの最後で開始されることを指定しています。ファイル。バイナリ フラグは、ファイルがバイナリ モードで開かれることを保証します。これは、すべてのプラットフォームでファイル サイズを正確に決定するために不可欠です。

tellg() 関数は、ファイル ポインタの現在位置を返します。ファイルのサイズ。ただし、特定の状況下では Tellg() 関数が誤った値を返す可能性があるため、このアプローチは常に信頼できるわけではないことに注意してください。したがって、場合によっては代替手段が必要になる場合があります。

以上が最小限の依存関係で C でファイル サイズを決定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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