[ 파일 처리 작업 순서 ]
1. 파일 포인터(표준입출력) 또는 파일지시자(저수준입출력) 변수 선언
2. 작업 대상 파일을 연다 (open) : 파일 포인터 또는 파일 지시자가 대상 파일의 주소 또는 정보를 참조하게 됨
3. 파일 안의 내용 입력(read) 또는 출력(write) 처리함
4. 작업이 끝나면 반드시 대상 파일을 닫는다. (close)
[ 표준 입출력 함수 ]
- open()
, read()
, write()
, sleek()
, close()함수
- #include <sys/types.h>
#include <sys.stat.h>
#include <fcntl.h> 필요
1. FILE * fopen(const char * path, const char * mode) : 파일 열기 함수
- 사용법 : 파일 포인터 = fopen("파일명", "열기모드")
- fopen
은 FILE *이라는 자료형을 반환
(int *처럼 포인터이며 가르키는 것이 int가 아닌 FILE이라는 타입임 / FILE은 int, double처럼 이미 정해진 자료형)
- 따라서 해당하는 포인터를 미리 만들어줘야함
ex)
FILE *fp;
fp = fopen("test.txt", "w"); //매개변수가 char *이므로 문자열로 입력(즉, ""사용)
//fp = fopen(arr[1], "w"); //도 사용 가능
* 열기 모드 속성
- "w" OR "wt" => 대상 파일 존재 하지 않을 경우, 새로 파일 생성해서 열기
=> 대상 파일 존재할 경우, 기존의 내용 모두 삭제 후 열기(즉, 새로쓰기)
- "r" OR "rt" => 대상 파일 존재 하지 않을 경우, 에러.
=> 대상 파일 존재할 경우, 정상적으로 작동
- "a" OR "at" => 대상 파일 존재 하지 않을 경우, 새로 파일을 생성해서 열기
=> 대상 파일 존재할 경우, 기존의 파일이 열리며 맨 뒤부터 쓰기(즉, 추가)
2. int fclode(FILE *stream) : 파일 닫기 함수
- 사용법 : fclose(파일포인터)
ex)
fclose(fp);
참고사이트 :
http://k-story.tistory.com/246