본문 바로가기
2학년 2학기/c언어

12-8장 파일 포인터

by kkkkk1023 2024. 11. 19.

파일 포인터

: 파일 내에서 읽거나 쓰기를 시작할 위치를 나타낸다. 

 

 

파일 포인터에는 순차 접근, 임의 접근이 있다.

순차 접근: 데이터를 파일의 처음부터 순차적으로 읽거나 기록하는 것이다.

임의 접근: 임의 접근 방법은 파일의 어느 위치에서든 읽기와 쓰기가 가능하다. 

 

 

 

 

파일 포인터 함수 - fseek

: 파일 포인터의 위치를 변경하는 함수이다.

 

int seek(FILE *fp, long offset, int origin);

 

위를 쉽게 해석해보면, "파일 포인터를  특정 지점(origin)에서 특정 값(offset)만큼 이동해라"라는 의미이다.

 

 

Origin과 관련된 상수

 

 

사용 예시

fseek(fp, 0L, SEEK_SET);// 파일의 처음으로 이동
fseek(fp, 0L, SEEK_END);// 파일의 끝으로 이동
fseek(fp, 100L, SEEK_SET);// 파일의 처음에서 100바이트 이동
fseek(fp, 50L, SEEK_CUR);// 현재 위치에서 50바이트 이동
fseek(fp, -20L, SEEK_END);// 파일의 끝에서 20바이트 앞으로 이동

 

 

 

#include <stdio.h>

int main(void)
{
        FILE* fp;
        fp = fopen("data.txt", "w");
        if (fp == NULL) {
                printf("data.txt 파일을 열 수 없습니다.");
                exit(1);
        }
        fputs("This is an house.", fp);
        fseek(fp, 11, SEEK_SET);
        fputs("apple", fp);
        fclose(fp);

        return 0;
}