Life, Education, Death

プログラミング以外でも思ったことをつらつらと書きたい

ファイルサイズを調べたい

boost::filesystem::file_sizeを使うと簡単

boostを使うのはとてもいい選択だなぁとよく思うけども、file_size以外の関数を使わないのに使うのがちょっと大げさかなと思って、fstreamだけで調べる方法をメモしておく。


今回はファイルサイズを取得するには?|C++ フリーでぷろぐらみんぐを参考にした。

コード

上記のブログのコメントに書いてあるような方法を用いると

std::ifstream ifs("ファイル名");
size_t fileSize = (size_t)ifs.seekg(0, std::ios::end).tellg();
ifs.seekg(0, std::ios::beg);     // ストリームのポインタを一番前に戻して、これから先で使いやすいようにする


って感じで調べられる。