Share via


ftell, _ftelli64

파일 포인터의 현재 위치를 가져옵니다.

long ftell( 
   FILE *stream 
);
__int64 _ftelli64( 
   FILE *stream 
);

매개 변수

  • stream
    대상 FILE 구조체입니다.

반환 값

ftell및 _ftelli64 는 현재 파일 위치를 반환 합니다.반환 된 값 ftell 및 _ftelli64 캐리지 – 줄 바꿈 변환 하기 때문에 텍스트 모드 텍스트 모드에서 연 스트림에 대 한 실제 바이트 오프셋을 나타내지 않습니다.Use ftell with fseekor_ftelli64with_fseeki64 to return to file locations correctly.오류, ftell및_ftelli64 의 설명에 따라 잘못 된 매개 변수 처리기를 호출 합니다. 매개 변수 유효성 검사.실행 계속 수 있으면 이러한 함수 –1l을 반환 하 고 설정 errno ERRNO에 정의 된 두 가지 상수 중 하나를 합니다.H.EBADF 상수의 의미는 stream 인수는 유효한 파일 포인터 값입니다 또는 열린 파일을 참조 하지 않습니다.EINVAL잘못 된 의미 stream 인수는 함수에 전달 되었습니다.장치 (터미널 및 프린터와 같은), 검색을 할 수 없는 것 또는 때 stream 참조 하지 않는 열려 있는 파일에 반환 값이 정의 되지 않습니다.

참조 하십시오 _doserrno, errno, _sys_errlist, 및 _sys_nerr 에서이 및 기타 자세한 내용은 반환 코드입니다.

설명

ftell 및 _ftelli64함수 검색 (있는 경우) 파일 포인터의 현재 위치와 관련 stream*.* 위치 스트림의 시작 위치에 상대적인 오프셋으로 표시 됩니다.

Note 데이터 추가 대 한 파일을 열 때 현재 파일 위치 이전 I/O 작업의 않습니다 다음 쓰기가 발생할 위치 의해 결정 됩니다.예를 들어, 파일 위치에 대 한 추가 파일을 열 경우 읽기 마지막 작업 했습니다 어디 다음 읽기 작업을 않는 다음 쓰기가 시작 됩니다 시작 하는 지점입니다.(추가 대 한 파일을 열 때 파일 위치 쓰기 작업 하기 전에 파일 끝으로 이동 합니다.) I/O 작업이 아직 추가 대 한 열린 파일에서 발생 한 경우 파일 위치를 파일의 시작 부분입니다.

텍스트 모드에서 CTRL + Z는 파일 끝 문자로 입력 해석 됩니다.읽기/쓰기용으로 열 파일에서 fopen 및 모든 관련된 루틴 CTRL + Z를 파일의 끝에 대 한 확인 하 고 가능한 경우 제거 합니다.이 조합 하 여 수행 됩니다 ftell 및 fseek 또는 _ftelli64 및 _fseeki64, CTRL + Z로 인해 파일 내에서 이동 합니다 ftell 또는 _ftelli64 파일의 끝에 근처에 제대로 동작 합니다.

이 함수는 호출 스레드에서 실행 하는 동안 잠금을 설정 하 고 있으므로 스레드로부터 안전한 지.비잠금 버전을 참조 하십시오. _ftell_nolock.

요구 사항

Function

필수 헤더

선택적 헤더

ftell

<stdio.h>

<errno.h>

_ftelli64

<stdio.h>

<errno.h>

추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

예제

// crt_ftell.c
// This program opens a file named CRT_FTELL.C
// for reading and tries to read 100 characters. It
// then uses ftell to determine the position of the
// file pointer and displays this position.
 

#include <stdio.h>

FILE *stream;

int main( void )
{
   long position;
   char list[100];
   if( fopen_s( &stream, "crt_ftell.c", "rb" ) == 0 )
   {
      // Move the pointer by reading data: 
      fread( list, sizeof( char ), 100, stream );
      // Get position after read: 
      position = ftell( stream );
      printf( "Position after trying to read 100 bytes: %ld\n",
              position );
      fclose( stream );
   }
}
  

해당 .NET Framework 항목

System::IO::FileStream::Position

참고 항목

참조

스트림 I/O

통해, _wfopen

fgetpos

fseek, _fseeki64

_lseek, _lseeki64