😸

[C] rewind 関数

に公開

機能

ファイルポインタの位置をファイルの先頭に戻す関数[1]

使用例

rewindでファイルの読み書き位置を先頭に戻す と表示する

\n は改行を表す エスケープシーケンス[2]

コード

rewind(fp);
全文
#include <stdio.h>
void main() {
    FILE *fp = fopen("sample.txt", "r");
    // ファイルから一行読み込む
    char buf[100];
    fgets(buf, sizeof(buf), fp);
    // ファイルポインタを先頭に戻す
    rewind(fp);
    // 再度先頭から一行読み込む
    fgets(buf, sizeof(buf), fp);
    fclose(fp);
}

実行結果

(sample.txt の先頭行が2回読み込まれる)

rewind で変数から表示する

コード

FILE *fp = fopen(filename, "r");
rewind(fp);
全文
#include <stdio.h>
void main() {
    const char* filename = "sample.txt";
    FILE *fp = fopen(filename, "r");
    // ファイルポインタを先頭に戻す
    rewind(fp);
    // ここで必要な操作を続ける
    fclose(fp);
}

実行結果

(処理内容による。エラーや警告は出力されない)
脚注
  1. ファイルを読み書きする際、ファイルポインタの位置を0(先頭)に戻す。 ↩︎

  2. 改行やタブなど、画面に表示されない制御文字のこと。 ↩︎

Discussion