😸
[C] fseek 関数
機能
ファイル内の読み書き位置を移動する関数[1]
使用例
ファイルポインタを先頭から5バイト進める
と表示する
\n
は改行を表す エスケープシーケンス[2]
コード
FILE *fp = fopen("example.txt", "r");
fseek(fp, 5, SEEK_SET); // 先頭から5バイト進める
// (ここにデータ読み書き処理)
fclose(fp);
全文
#include <stdio.h>
void main() {
FILE *fp = fopen("example.txt", "r");
fseek(fp, 5, SEEK_SET); // 先頭から5バイト
// ここで実際にデータを読むなど
fclose(fp);
}
実行結果
(fseekには直接出力はありません。ファイルポインタの位置が5バイト先になります)
カーソルをファイル末尾に移動する
を変数から表示する
コード
FILE *fp = fopen("example.txt", "r");
fseek(fp, 0, SEEK_END); // ファイル末尾に移動
// ftell(fp)で現在位置を取得可能
fclose(fp);
全文
#include <stdio.h>
void main() {
FILE *fp = fopen("example.txt", "r");
fseek(fp, 0, SEEK_END);
printf("%ld\n", ftell(fp)); // 末尾の位置(ファイルサイズ)
fclose(fp);
}
実行結果
12
Discussion