fgetpos
스트림의 파일 위치 지시자를 가져옵니다.
int fgetpos(
FILE *stream,
fpos_t *pos
);
매개 변수
stream
대상 스트림입니다.pos
저장소 위치 표시기입니다.
반환 값
만일 성공하면, fgetpos 은 0을 반환합니다. 실패 시, 0이아닌 값을 반환하고 errno 을 (STDIO.H에서 정의된)다음 매니패스트 상수의 하나로 설정합니다: 이것은 지정된 스트림이 유효하지 않은 파일 포인터나 접근이 불가능한 EBADF 이거나 null포인터처럼, pos 의 값 또는 stream 을 의미하는 EINVAL 입니다. 만일 stream 또는 pos 는 NULL 포인터인 경우, 이 함수는 매개 변수 유효성 검사 에서 설명된 대로 잘못된 매개변수 처리기를 호출합니다.
설명
fgetpos 함수는 pos 로 지정된 객체에 이것을 저장하고 stream 파일 위치 지시자의 현재 값을 가져오는 함수입니다. fsetpos 함수는 fgetpos 이 호출된 시간에 이것의 위치에 대한 stream 인수의 포인터를 재설정하기위해 pos 에 저장된 정보를 사용할 수 있습니다. pos 값은 내부 형식에 저장되고 fgetpos 와 fsetpos 에 의해서만 사용에 대해 만들어집니다.
요구 사항
Function |
필수 헤더 |
---|---|
fgetpos |
<stdio.h> |
호환성에 대한 자세한 내용은 소개 단원의 호환성 부분을 참조하십시오.
예제
// 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.
출력 crt_fgetpos.txt
after fgetpos: gets a stream
after fsetpos: gets a stream
해당 .NET Framework 항목
System::IO::FileStream::Position