(原創) 如何得知檔案大小? (C/C++)

 1/* 
 2(C) OOMusou 2007 http://oomusou.cnblogs.com
 3
 4Filename    : ArrayCopyCout.cpp
 5Compiler    : Visual C++ 8.0 / BCB 6.0 / gcc 3.4.2 / ISO C++
 6Description : Demo how to get file size
 7Release     : 03/04/2007 1.0
 8*/

 9#include <iostream>
10#include <fstream>
11
12using namespace std;
13int main() {
14  ifstream file("clena.bmp",ios::in | ios::binary | ios::ate);
15  ifstream::pos_type eof = file.tellg();
16  cout << "file size : " << eof << "bytes" << endl;
17  
18  file.close();
19}


執行結果

file size : 786486bytes


ios::ate會將檔案指標移到檔尾,透過ifstream::tellg()得知目前檔案指標位置,即相當於檔案大小byte數。

或許C++還有更好的方法,這是我目前學習ifstream時得知的方式,若有更好的方式歡迎指正,謝謝。

posted on 2007-03-04 18:21  真 OO无双  阅读(2737)  评论(0编辑  收藏  举报

导航