C言語でファイルを読み込みその容量を返すような関数はありませんか?
もしなかったら、自作でも構わないので教えてください。
ファイルの容量はだいたい5MB弱です。
よろしくお願いします。
ファイルの読み込みについて
Re: ファイルの読み込みについて
苦Cからの転載です。
http://9cguide.appspot.com/q_filesize.html
fpos_t GetFileSize(const char *FileName[])
{
fpos_t fsize = 0;
FILE *fp = fopen(FileName,"rb");
/* ファイルサイズを調査 */
fseek(fp,0,SEEK_END);
fgetpos(fp,&fsize);
fclose(fp);
return fsize;
}
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
- bitter_fox
- 記事: 607
- 登録日時: 14年前
- 住所: 大阪府
Re: ファイルの読み込みについて
恐らく標準ライブラリにはなかったと思います。yucky001 さんが書きました:C言語でファイルを読み込みその容量を返すような関数はありませんか?
もしなかったら、自作でも構わないので教えてください。
ファイルの容量はだいたい5MB弱です。
よろしくお願いします。
ftellという先頭からのカーソルの位置を返す関数があるのでこれを使えば可能かと思います。
long GetFileSize(FILE *fp)
{
long nowPos = ftell(fp); // 現在のカーソルの位置を記録しておく
long fileSize;
fseek(fp, 0, SEEK_END); // カーソルを末尾まで持っていく
fileSize = ftell(fp); // 先頭からのカーソルの位置を取得する
fseek(fp, nowPos, SEEK_SET); // 呼び出し前の位置に戻す
return fileSize;
}
ftellの戻り値がlongなのでそれに合わせました。