fgetpos
stdio.h:インデックス への移動
ヘッダーファイル
stdio.h
カテゴリ
入出力ルーチン
プロトタイプ
int fgetpos(FILE *stream, fpos_t *pos);
説明
現在のファイルポインタを取得します。
fgetpos は,指定されたストリームに関連付けられたファイルポインタの位置を pos が指す場所に格納します。この正確な値は重要ではありません。この後で fsetpos の呼び出しのパラメータとして使用するのでない限り,この値に意味はありません。
戻り値
成功した場合,fgetpos は 0 を返します。失敗した場合は 0 以外の値を返し,グローバル変数 errno に次の値を設定します。
EBADF |
不正なファイル番号 |
EINVAL |
不正な数値 |
例
#include <stdlib.h>
#include <stdio.h>
void showpos(FILE *stream);
int main(void)
{
FILE *stream;
fpos_t filepos;
/* 更新用にファイルを開きます */
stream = fopen("DUMMY.FIL", "w+");
/* ファイルポインタの位置を保存します */
fgetpos(stream, &filepos);
/* ファイルにデータを書き込みます */
fprintf(stream, "This is a test");
/* 現在のファイル位置を表示します */
showpos(stream);
/* 新しいファイル位置を設定して表示します */
if (fsetpos(stream, &filepos) == 0)
showpos(stream);
else
{
fprintf(stderr, "Error setting file pointer.\n");
exit(1);
}
/* ファイルを閉じます */
fclose(stream);
return 0;
}
void showpos(FILE *stream)
{
fpos_t pos;
/* ストリームの現在のファイルポインタの
位置を表示します */
fgetpos(stream, &pos);
printf("File position: %ld\n", pos);
}
移植性
POSIX | Win32 | ANSI C | ANSI C++ |
---|---|---|---|
+ |
+ |
+ |
+ |