English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

fseek()와 rewind()가 C에서

fseek()

C 언어의 fseek()는 파일 포인터를 특정 위치로 이동시키기 위해 사용됩니다. 오프셋과 스트림은 함수 매개변수로 주어집니다. 성공하면 0을 반환하고, 실패하면 μη zero 값을 반환합니다.

이것은fseek()C 언어의 문법

int fseek(FILE *stream, long int offset, int whence)

이는 사용된 매개변수입니다fseek()

  • stream-이는 스트림을 가리키는 포인터입니다.

  • offset-이는 시작 위치로부터의 바이트 수입니다.

  • whence-이는 추가할 위치입니다.

다음 중 하나의 상수로 지정됩니다.

  • SEEK_END-파일의 끝

  • SEEK_SET-파일의 시작

  • SEEK_CUR-파일 포인터의 현재 위치

이것은fseek()C 언어의 예제-

우리가 다음과 같은 내용의 "demo.txt" 파일을 가지고 있다고 가정해 보겠습니다.-

This is demo text!
This is demo text!
This is demo text!
This is demo text!

지금 코드를 보겠습니다.

예제

#include<stdio.h>
void main() {
   FILE *f;
   f = fopen("demo.txt", "r");
   if(f == NULL) {
      printf("\n Can't open file or file doesn't exist.");
      exit(0);
   }
   fseek(f, 0, SEEK_END);
   printf("파일의 크기: %ld bytes", ftell(f));
   getch();
}

출력 결과

파일의 크기: 78 bytes

위의 프로그램에서 파일 "demo.txt"은 열기 위해 사용되었습니다.fopen()fseek()파일의 끝으로 포인터를 이동시키는 방법입니다.

f = fopen("demo.txt", "r");
if(f == NULL) {
   printf("\n Can't open file or file doesn't exist.");
   exit(0);
}
fseek(f, 0, SEEK_END);

뒤로 돌리기()

이 함수rewind();파일의 위치를 지정된 스트림의 시작으로 설정하는 데 사용됩니다. 어떤 값도 반환하지 않습니다.

이것은rewind();C 언어의 문법

void rewind(FILE *stream);

이것은rewind();C 언어의 예제

우리가 다음과 같은 내용의 "new.txt" 파일을 가지고 있다고 가정해 보겠습니다.-

This is demo!
This is demo!

지금, 우리는 예제를 보겠습니다.

예제

#include<stdio.h>
void main() {
   FILE *f;
   f = fopen("new.txt", "r");
   if(f == NULL) {
      printf("\n Can't open file or file doesn't exist.");
      exit(0);
   }
   rewind(f);
   fseek(f, 0, SEEK_END);
   printf("파일의 크기: %ld bytes", ftell(f));
   getch();
}

출력 결과

파일의 크기: 28 bytes

위의 프로그램에서 파일을 열기 위해 사용되었습니다.fopen()포인터 변수가 null이면 파일을 열 수 없거나 파일이 존재하지 않습니다. 이 함수rewind();파일의 시작 지점으로 포인터를 이동시킵니다。

f = fopen("new.txt", "r");
if(f == NULL) {
   printf("\n Can't open file or file doesn't exist.");
   exit(0);
}
rewind(f);