Loose-Info.com

Last Update 2019/12/24


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

ファイル・ポインタで参照されるストリーム内の現在位置を取り出します。

 戻り値1  = fgetpos(  引数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