[C] 파일 위치지시자 fseek

C 2019. 12. 3. 01:23

#include <stdio.h>

int main(){
int ch;
FILE *pt = fopen("abc.txt", "wt");
fputs("123456789", pt);
fclose(pt);
pt = fopen("abc.txt", "rt");
fseek(pt, -2, SEEK_END);
ch = fgetc(pt);
printf("%c \n", ch);

// SEEK_END는 끝을 나타낸다. 끝은 9가 아니라 9다음 EOF다.
// EOF->9->8 이므로 8이 된다.

fseek(pt, 3, SEEK_SET);
ch = fgetc(pt);
printf("%c \n", ch);

// SEEK_SET은 처음을 나타낸다. 1+3 = 4다.

fseek(pt, -2, SEEK_CUR);
ch = fgetc(pt);
printf("%c \n", ch);

// SEEK_CUR는 현재의 커서 위치다. 방금 4를 출력했으니 커서는 5에 가있을 것이다.
// 5-2 하므로 3이다.

fclose(pt);
return 0;
}

블로그 이미지

ryancha9

https://blog.naver.com/7246lsy

,