C++ Wiki
バイナリファイルを扱う場合はstd::ifstream::ate | std::ifstream::binary
とします。
ファイルサイズの取得方法
サンプルコード
#include <iostream>
#include <fstream>
#define FILENAME "filename"
int main()
{
std::ifstream file(FILENAME, std::ifstream::ate);
size_t filesize = static_cast<size_t>(file.tellg());
//ファイル位置を戻す場合
//file.seek(0, std::ifstream::beg);
std::cout << "size: " << filesize << std::endl;
return 0;
}
実行結果
size: 351425