概要
ファイルポインタで扱われているwavファイルが別のwavファイルと同じサイズかを調べたいことがあった。
そのため、ファイルポインタからファイルサイズを調べる方法を記載する。
言語はC
ファイルポインタからファイルサイズを調べる方法
注意点
今回はfgetpos()
を使用したが、この方法は推奨されておらずfstat()
を使用するのが良いらしい。
サンプルコード
以下のようにすることでファイルサイズを取得できる。
FILE *fp = fopen("sample.wav", "rb");
fpos_t fsize;
fseek(fp, 0, SEEK_END); // ファイルポインタを末尾へ移動
fgetpos(fp, &fsize); // ファイルポインタの位置を取得
printf("ファイルサイズ(byte) = %ld\n", fsize);
fclose(fp);
return 0;