plucky (3) fgetpos.3.gz

Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       fgetpos, fseek, fsetpos, ftell, rewind - ストリームの位置を変更する

書式

       #include <stdio.h>

       int fseek(FILE *stream, long offset, int whence);

       long ftell(FILE *stream);

       void rewind(FILE *stream);

       int fgetpos(FILE *stream, fpos_t *pos);

       int fsetpos(FILE *stream, const fpos_t *pos);

説明

       fseek()  関数は stream によって指定されたストリームにおいて、ファイル位置表示子 (file position indicator)
       をセットする。新たな位置 (バイト単位)  は whence で指定された位置に offset バイトを加えることによって与え
       られる。  whenceSEEK_SET, SEEK_CUR, SEEK_END のどれかになっている場合は、それぞれファイルの先頭、現在
       の位置表示子、 ファイルの末尾からのオフセットが取られる。 fseek()  関数の呼び出しが成功すると、ストリーム
       の end-of-file 表示子は クリアされ、それまでに ungetc(3) 関数で戻したデータはなかったことになる。

       ftell()  関数は stream によって指定されたストリームにおける、ファイル位置表示子 の現時点での値を与える。

       rewind()  関数は stream によって指定されたストリームにおいて、ファイル位置表示子 をファイルの先頭にセット
       する。この関数は以下と等価である。

              (void) fseek(stream, 0L, SEEK_SET)

       ただし rewind()  ではストリームに対するエラー表示子 (error indicator) も同時に クリアされる ( clearerr(3)
       を見よ)。

       fgetpos()  関数と fsetpos()  関数は、それぞれ ftell()  と fseek()  で whenceSEEK_SET を指定した場合と
       同様の機能を、異なるインターフェースで提供する。 fgetpos() はファイルオフセットの現在の値を pos  が参照す
       るオブジェクトに保存し、  fsetpos()   はファイルオフセットを pos に設定する。 UNIX 以外のシステムにおいて
       は、 fpos_t が構造体などの複雑なオブジェクトになっていて、これらのルーチンがテキス トストリームでファイル
       位置を変更する方法のうち、移植性のある唯一のもの になっている場合もある。

返り値

       rewind()  は返り値を持たない。 fgetpos(), fseek(), fsetpos()  は成功すると 0 を返す。 ftell()  は現在のオ
       フセットを返す。失敗した場合は返り値は -1 となり、 errno にエラーを示す値がセットされる。

エラー

       EINVAL fseek()  関数に対して与えた whence 引数が SEEK_SET,  SEEK_END,  SEEK_CUR  以外の値であった。  また
              は、更新後のファイルオフセットが負になってしまう。

       ESPIPE The  file  descriptor  underlying  stream  is  not  seekable  (e.g., it refers to a pipe, FIFO, or
              socket).

       fgetpos(), fseek(), fsetpos(), ftell()  は、それぞれ fflush(3), fstat(2), lseek(2), malloc(3)  などのルー
       チンを呼び出す際に失敗する可能性がある。この場合は それぞれ対応した errno が設定される。

属性

       この節で使用されている用語の説明については、 attributes(7) を参照。

       ┌────────────────────────────┬───────────────┬─────────┐
       │インターフェース属性      │
       ├────────────────────────────┼───────────────┼─────────┤
       │fseek(), ftell(), rewind(), │ Thread safety │ MT-Safe │
       │fgetpos(), fsetpos()        │               │         │
       └────────────────────────────┴───────────────┴─────────┘

準拠

       POSIX.1-2001, POSIX.1-2008, C89, C99.

関連項目

       lseek(2), fseeko(3)

この文書について

       この  man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告
       に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。