프로그래밍/예전글

파일 입출력, 파일 포인터(FILE* fp)

Cat체셔 2012. 1. 2. 12:55
파일포인터는 쓸때마다 까먹는것 같습니다.
사용하는 함수들도 많고... fopen할때도 옵션은 또 뭐 그리 많은지

파일포인터란
파일을 가르키는 포인터입니다.

FILE* fp = fopen("FileName.txt", "rb");
FILE* - 파일포인터 입니다. 
fopen -  파일을 불러오는 함수입니다.
"FileName.txt" -  파일 이름입니다.
"rb" - 파일을 불러올때의 옵션입니다.
 
파일 옵션
r
- 읽기 전용, 파일이 존재하지 않을 경우 NULL을 리턴.
w
- 쓰기 전용, 파일이 존재하지 않을 경우 새로 만들고, 파일이 존재할 경우 삭제하고 새로 만든다.
a
- append(덧붙이다), 파일이 존재하지 않을 경우 새로 만들고, 파일이 존재할 경우 파일 맨 끝에 파일포인터가 존재하게 된다. 맨 끝에서부터 쓰기가능.

r+ -  읽기, 쓰기 - 파일이 존재하지 않을 경우 NULL을 리턴.
w+ - 읽기, 쓰기 - 파일이 존재하지 않을 경우 새로 만들고, 파일이 존재할 경우 삭제하고 새로 만든다.
a+ - append(덧붙이다.),   파일이 존재하지 않을 경우 새로 만들고, 파일이 존재할 경우 파일의 맽 끝에 파일포인터가 존재하게 된다. 읽기는 fseek로 지정한 file pointer위치에서 가능하나 쓰기는 파일 끝부분에서만 가능.

b - 바이너리형식
t - 텍스트형식