헤더파일 <stdio.h>
fopen()
지정한 파일을 오픈 (파일스트림을 생성)
filename이 지정한 파일을 연다.
FILE *fopen(const char *filename, const char *mode)
FILE *fopen(파일의 경로와 이름, 열기 모드);
r 읽기 - 읽기만 가능하며 파일이 존재해야 한다. 존재하지 않을 경우 에러.
w 쓰기 - 쓰기만 가능하며 파일을 생성한다. 파일이 존재하면 파일내용을 새로 덮어씀.
a 추가 - 파일 끝에 추가만 가능하며 파일이 존재하지 않으면 파일을 새로 생성
+ 읽기/쓰기 로 ‘r’, ‘w’, ‘a’와 함께 사용
b 바이너리 - 파일을 이진(binary) 모드로 오픈
t 텍스트 - 파일을 text 모드로 오픈
파일 열기 작업이 실패하면 NULL 포인터를 반환
읽기 "r"
FILE* fr = NULL;
fr = fopen(fileAddress, "r");
if (fr == NULL) {
printf("파일을 읽어올 수 없습니다.\n");
return;
}
쓰기 "w"
FILE* fw = NULL;
fw = fopen(fileAddress,"w");
if (fw==NULL) {
printf("파일을 생성할수 없습니다.\n");
return;
}
추가 "a"
FILE* fw = NULL;
fw = fopen(fileAddress,"a");
if (fw==NULL) {
printf("파일을 생성할수 없습니다.\n");
return;
}
fclose()
fopen함수로 개방한 파일을 닫음
int fclose (FILE* filePointer)
fclose(fr);
정상적으로 파일을 닫았을 땐 0 그렇지 않을땐 EOF (-1)을 반환
파일을 어떤식으로 열었을때는 반드시 fclose(); 를 사용하자
파일이 닫히지 않으면 데이터가 손실
파일에 데이터를 작성할 때
데이터가 버퍼에 먼저 입력되고 버퍼가 가득 찬 후 파일이 파일로 작성
다 쓰고 남은 스트림 파일이 메모리에 상주하게됨
만약 오류로 닫히게 된다면 데이터에 손실이 있을 수 있다
'C > C' 카테고리의 다른 글
strstr() 문자열 찾기 (0) | 2022.10.30 |
---|---|
strcpy(), strncpy() 문자열 복사(copy) (0) | 2022.10.19 |
time(), localtime() 시간 (0) | 2022.10.13 |
파일 입출력 (0) | 2022.10.11 |
모듈화 2 - 구조체 (0) | 2022.10.08 |