2008/12/23

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

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

fseek(fp, 0, SEEK_END);
fgetpos(fp, &fpos);
fclose(fp);

fpos.__pos; // これがファイルサイズ


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

0 件のコメント: