次の方法で共有


_tell、_telli64

ファイル ポインターの位置を取得します。

long _tell(
   int handle
);
__int64 _telli64(
   int handle 
);

パラメーター

  • handle
    開いているファイルを参照するファイル記述子。

戻り値

ファイル ポインターの現在位置。検索できないデバイスで戻り値は未定義です。

–戻り値の 1L はエラーを示します。handle が無効なファイル記述子と無効なパラメーター ハンドラーが パラメーターの検証 に説明されているように開始されます。実行の継続が許可 EBADFは -1L に関数の設定 errno。

戻り値の詳細については、「_doserrno、errno、_sys_errlist、および _sys_nerr」を参照してください。

解説

_tell の関数は handle の引数に関連付けられたファイル ポインターの現在の位置を取得します。場所はファイルの先頭からのバイト数として表現されます。_telli64 の関数に対して64 ビットの整数としてこの値と表現されます。

必要条件

ルーチン

必須ヘッダー

_tell, _telli64

<io.h>

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

使用例

// crt_tell.c
// This program uses _tell to tell the
// file pointer position after a file read.
//

#include <io.h>
#include <stdio.h>
#include <fcntl.h>
#include <share.h>
#include <string.h>

int main( void )
{
   int  fh;
   char buffer[500];

   if ( _sopen_s( &fh, "crt_tell.txt", _O_RDONLY, _SH_DENYNO, 0) )
   {
      char buff[50];
      _strerror_s( buff, sizeof(buff), NULL );
      printf( buff );
      exit( -1 );
   }

   if( _read( fh, buffer, 500 ) > 0 )
      printf( "Current file position is: %d\n", _tell( fh ) );
   _close( fh );
}

型 : crt_tell.txt

Line one.
Line two.

c3kc5e7a.collapse_all(ja-jp,VS.110).gif出力

Current file position is: 20

参照

関連項目

下位入出力

ftell、_ftelli64

_lseek、_lseeki64