iostream使って速くファイルサイズを読み込む
なんか、世の中にはrdb->in_avail()は正しいサイズを返さないって話もあるみたいだが、Linux上のgccでは3.4.6以降どれで別に問題なく使えてる。
この部分に関しては、C言語よりC++の方が使っていて楽ですな.
// open file const char* filename = argv[1]; std::ifstream input(filename); if (input.is_open() == false) { std::cerr << "[ERROR] can't open the file : " << filename << std::endl; return 1; } // read file std::string text; { int filesize = input.rdbuf()->in_avail(); printf("filesize %d\n", filesize); }