2008/12/23

C言語: ファイルサイズの取得

C言語の標準関数では直接ファイルサイズを取得する関数が無い.
そこで,fseekとfgetposを使ってファイルポインタの位置を調べることで
間接的にファイルサイズを取得するそうな.
  1. fpos_t fpos;  
  2. FILE *fp = fopen(fname, "rb");  
  3.   
  4. fseek(fp, 0, SEEK_END);  
  5. fgetpos(fp, &fpos);  
  6. fclose(fp);  
  7.   
  8. fpos.__pos; // これがファイルサイズ  


// Reference
ファイルサイズの取得方法
半年くらい前にはまったこと
標準C言語関数

0 件のコメント: