fseek()
C 언어의 fseek()는 파일 포인터를 특정 위치로 이동하는 데 사용됩니다. 오프셋과 스트림은 함수 매개변수에 지정된 포인터의 대상입니다. 성공하면 0을 반환하고, 그렇지 않으면 0이 아닌 값을 반환합니다.
다음은 C 언어의 fseek() 구문입니다.
int fseek(FILE *stream, long int offset, int whence)
다음은 fseek()에서 사용되는 매개변수입니다.
-
스트림 − 스트림을 식별하기 위한 포인터입니다.
-
오프셋 − 해당 위치의 바이트 수입니다.
-
언제 − 오프셋이 추가된 위치입니다.
whence는 다음 상수 중 하나로 지정됩니다.
-
SEEK_END − 파일 끝.
-
SEEK_SET − 파일 시작.
-
SEEK_CUR − 파일 포인터의 현재 위치.
다음은 C 언어의 fseek() 예입니다 -
다음 내용이 포함된 "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("The size of file : %ld bytes", ftell(f)); getch(); }
출력
The size of file : 78 bytes
위 프로그램에서 fopen()을 이용하여 "demo.txt" 파일을 열고 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() 함수는 파일의 위치를 주어진 스트림의 시작 부분으로 설정하는 데 사용됩니다. 값을 반환하지 않습니다.
다음은 C 언어의 rewind() 구문입니다.
void rewind(FILE *stream);
다음은 C 언어의 rewind() 예제입니다.
다음 내용이 포함된 "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("The size of file : %ld bytes", ftell(f)); getch(); }
출력
The size of file : 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);