🔧 入出力 ・ stdio.h ・ C89
fseek の使い方int fseek(FILE *stream, long offset, int whence);
ストリームの読み書き位置を移動する。whenceにSEEK_SET(先頭から)/SEEK_CUR(現在位置から)/SEEK_END(末尾から)を指定する。バイナリファイルのランダムアクセスに使う。
#include <stdio.h>
int main(void) {
FILE *fp = fopen("data.bin", "rb");
if (fp) {
fseek(fp, 0, SEEK_END);
long size = ftell(fp);
printf("size=%ld\n", size);
fclose(fp);
}
return 0;
}
⚠️ テキストモードで開いたストリームに対するSEEK_CUR/SEEK_ENDの移動量計算は処理系依存になりうる。バイナリファイルはバイナリモードで開く。
アプリの関数リファレンスで引く(無料・登録不要) 関数一覧へ
fseek と一緒に使う関数fclose
feof
ferror
fflush
fgetc
fgets
fopen
fprintf
fputc
fputs
fread
fscanf
ftell
fwrite
getchar
gets_s
もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。