파일 포인터
: 파일 내에서 읽거나 쓰기를 시작할 위치를 나타낸다.
파일 포인터에는 순차 접근, 임의 접근이 있다.
순차 접근: 데이터를 파일의 처음부터 순차적으로 읽거나 기록하는 것이다.
임의 접근: 임의 접근 방법은 파일의 어느 위치에서든 읽기와 쓰기가 가능하다.
파일 포인터 함수 - 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;
}
'2학년 2학기 > c언어' 카테고리의 다른 글
13-2장 malloc()과 free() (0) | 2024.11.19 |
---|---|
13-1장 동적 메모리 할당란? (0) | 2024.11.19 |
12-7장 이진 파일의 생성과 fread, fwrite (0) | 2024.11.18 |
12-6장 형식화된 입출력(fscanf, fprintf) (0) | 2024.11.18 |
12-5장 문자열 입출력 함수(fgets, fputs) (0) | 2024.11.18 |