fgetpos

ストリーム ファイル位置のインジケーターを取得します。

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

パラメーター

  • stream
    ストリームを対象とします。

  • pos
    インジケーター場所です。

戻り値

fgetpos 正常終了した場合は 0 を返します。エラーでは以外の値を返し次のマニフェスト定数の 1 に errno を設定します (STDIO.H で定義される): EBADF のいずれかが null ポインターの場合 pos の stream の値を指定したストリームを意味する値が有効であることを意味します。有効なファイル ポインターはアクセス許可または EINVALなどがあります。stream または pos が NULL のポインターの場合関数は パラメーターの検証 に説明されているように無効なパラメーター ハンドラーを呼び出します。

解説

fgetpos の関数は引数 stream のファイル位置の問題および格納の現在の値を pos が指し示すオブジェクトから取得します。fsetpos の関数は pos で fgetpos が呼び出された時点での場所に stream の引数のポインターをリセットするために後に保存した情報を使用できます。pos の値は形式で格納および使用に fgetpos と fsetpos によってのみ用意されています。

必要条件

Function

必須ヘッダー

fgetpos

<stdio.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

使用例

// crt_fgetpos.c
// This program uses fgetpos and fsetpos to
// return to a location in a file.

#include <stdio.h>

int main( void )
{
   FILE   *stream;
   fpos_t pos;
   char   buffer[20];

   if( fopen_s( &stream, "crt_fgetpos.txt", "rb" ) ) {
      perror( "Trouble opening file" );
      return -1;
   }

   // Read some data and then save the position. 
   fread( buffer, sizeof( char ), 8, stream );
   if( fgetpos( stream, &pos ) != 0 ) {
      perror( "fgetpos error" );
      return -1;
   }

   fread( buffer, sizeof( char ), 13, stream );
   printf( "after fgetpos: %.13s\n", buffer );

   // Restore to old position and read data 
   if( fsetpos( stream, &pos ) != 0 ) {
      perror( "fsetpos error" );
      return -1;
   }

   fread( buffer, sizeof( char ), 13, stream );
   printf( "after fsetpos: %.13s\n", buffer );
   fclose( stream );
}

型 : crt_fgetpos.txt

fgetpos gets a stream's file-position indicator.

70hdhh4t.collapse_all(ja-jp,VS.110).gif出力 crt_fgetpos.txt

after fgetpos: gets a stream
after fsetpos: gets a stream

同等の .NET Framework 関数

System:: IO:: FileStream:: 位置

参照

関連項目

ストリーム入出力

fsetpos