Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 언어로 파일에 랜덤 액세스하기

<시간/>

C 언어의 파일에 대한 무작위 액세스는 다음 기능을 사용하여 수행할 수 있습니다. -

  • 말( )
  • 되감기( )
  • fseek( )

말( )

파일 ptr의 현재 위치를 반환합니다.

구문은 다음과 같습니다 -

int n = ftell (file pointer)

예를 들어,

FILE *fp;
int n;
_____
_____
_____
n = ftell (fp);

참고 − ftell( )은 파일에 입력되는 문자의 수를 세는 데 사용됩니다.

되감기( )

파일 ptr을 파일의 처음으로 이동시킵니다.

구문은 다음과 같습니다 -

rewind (file pointer);

예를 들어,

FILE *fp;
   -----
   -----
   rewind (fp);
   n = ftell (fp);
   printf ("%d”, n);

출력

출력은 다음과 같습니다 -

0 (always).

fseek( )

파일 pntr이 파일의 특정 위치를 가리키도록 하는 것입니다.

구문은 다음과 같습니다 -

fseek(file pointer, offset, position);

오프셋

  • 읽거나 쓰는 동안 이동할 위치의 수입니다.
  • If는 음수(또는) 양수일 수 있습니다.
    • 양수 - 앞으로 방향
    • 음수 – 역방향

위치

다음과 같은 세 가지 값을 가질 수 있습니다. -

  • 0 – 파일의 시작
  • 1 – 현재 위치.
  • 2 – 파일 끝.

예시

  • fseek (fp,0,2) - fp가 파일 끝에서 앞으로 0바이트 이동했습니다.

  • fseek (fp, 0, 0) – fp는 파일 시작 부분에서 앞으로 0바이트 이동

  • fseek (fp, m, 0) – fp는 파일의 시작 부분에서 m 바이트 앞으로 이동했습니다.

  • fseek (fp, -m, 2) – fp는 파일 끝에서 m 바이트 뒤로 이동했습니다.

오류

fseek() 함수와 관련된 오류는 다음과 같습니다 -

  • fseek(fp, -m, 0);
  • fseek(fp, +m, 2);