1. ホーム
  2. c++

[解決済み] C++でファイルのサイズを取得するにはどうしたらいいですか?[重複しています]。

2022-03-06 18:21:49

質問

を補完する質問を作ってみましょう。 これ . C++でファイルサイズを取得する最も一般的な方法は何ですか? 答える前に、それが移植可能であることを確認してください(Unix、Mac、Windowsで実行可能)。 信頼性があり、理解しやすく、ライブラリに依存しない(boostやqtはダメですが、例えばglibはポータブルライブラリなのでOKです)。

解決するには?

#include <fstream>

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

参照 http://www.cplusplus.com/doc/tutorial/files/ は、C++のファイルに関する詳細な情報を提供します。

edit: tellg()は必ずしも正しい値を返さないので、この回答は正しくありません。参照 http://stackoverflow.com/a/22986486/1835769