TOP - C言語 - stdio.h - fsetpos()

ファイル・ポインタで参照されるストリームの現在位置を指定した位置にセットします。

戻り値1 = fsetpos(引数1 , 引数2)

戻り値1 : int
          実行が成功した場合         : 0
          エラーが発生した場合       : 0以外
引数1   : FILE *
          ファイル・ポインタ
引数2   : fpos_t *
          現在位置が記憶されている変数へのポインタ

(例)
#include <stdio.h>

int main ()
{
    char s[20] = "123456789";
    FILE *fp;
    char s1[10], s2[10];
    fpos_t fpt;
    int n_err = 0;

    fp = fopen("test_fopen_w.txt", "w");
    fputs(s, fp);
    fclose(fp);

    fp = fopen("test_fopen_w.txt", "r");
    int n = fscanf(fp, "%2s%3s", s1, s2);
    printf("入力項目数 %d --- 入力内容 : %s, %s\n", n, s1, s2);
    n_err = fgetpos(fp, &fpt);
    fclose(fp);

    fp = fopen("test_fopen_w.txt", "r");
    n_err = fsetpos(fp, &fpt);    
    n = fscanf(fp, "%3s", s1);
    printf("前回の終了位置から読み込み\n入力項目数 %d --- 入力内容 : %s\n", n, s1);
    fclose(fp);

    return 0;
}

実行結果
入力項目数 2 --- 入力内容 : 12, 345
前回の終了位置から読み込み
入力項目数 1 --- 入力内容 : 678


Copyright(C) 2006-2012 CLAYPOT. All Rights Reserved.