fopen, fclose 함수란 무엇일까요? 파일을 열 때 사용되는 함수입니다. 파일의 경로, 모드 등을 지정하여 파일을 여는 함수입니다. 새로운 기능을 배우신다고 지레 겁먹지마시고 간단한 예시, 종류 등을 통해 안내해드리겠습니다.
기본 틀
FILE *fopen(const char *filename, const char *mode);
filename = 파일을 열고자 하는 파일의 경로를 지정하는 문자열입니다.
mode = 파일을 열 때 모드를 지정합니다 모드로는 대표적으로 네가지가 사용된다고 생각하시면 됩니다.
1. 읽기모드 : x
2. 쓰기모드 : w
3. 이어쓰기모드 : a
4. 이진모드
xb : 이진파일 모드 읽기
wb : 이진파일 모드 쓰기
ab : 이진파일 모드 이어쓰기
fopen 함수를 사용할 때 가장 중요한 것은 파일 열기를 실패했을 경우 NULL을 반환하는 문구를 작성해줘야합니다.
또한 성공시에는 포인터를 반환하는 문구를 작성해주는 것입니다.
fclose(file)
파일을 닫는 문구입니다. 파일을 열고 닫을 때는 해당 문구를 사용해주는게 좋습니다.
시스템에 오류가 생기거나 계속 사용되어 있을 수 있는 가능성이 크기 때문입니다.
fopen과 close의 사용 예시를 함께 보시죠.
활용 예시
1. 쓰기모드 (w)
#include <stdio.h>
int main() {
FILE *file;
// 파일을 쓰기 모드로 열기
file = fopen("example.txt", "w");
if (file == NULL) { //파일 열기를 실패했을 경우
printf("파일 열기 실패\n"); //파일 열기를 실패했다고 출력
return 1;
}
// 파일에 내용 쓰기
fprintf(file, "파일 입출력 예제입니다. 이 글을 파일에 씁니다.\n");
// 파일 닫기
fclose(file);
printf("파일이 성공적으로 작성되었습니다.\n");
return 0;
}
w를 활용하여 파일을 쓰기모드로 작성하여
파일에 "파일 입출력 예제입니다. 이 글을 파일에 씁니다." 라는 글을 입혔습니다.
코드를 긁어 작성해보세요.
2. 읽기모드 (x)
#include <stdio.h>
int main() {
FILE *file;
// 파일을 읽기 모드("x")로 열기
file = fopen("existing_file.txt", "x");
if (file == NULL) { //파일 열기를 실패했을 경우
printf("파일 열기 실패\n"); //파일 열기를 실패했다고 출력
return 1;
}
// 파일 닫기
fclose(file);
printf("파일이 성공적으로 열렸습니다.\n");
return 0;
}
x를 활용하여 파일을 읽기모드로 사용하여
실패했을 경우 파일 열기 실패를 출력하고
성공했을 경우 "파일이 성공적으로 열렸습니다"는 문구를 출력하는 코드입니다.
3.이어쓰기모드 (a)
#include <stdio.h>
int main() {
FILE *file;
// 파일을 이어쓰기 모드("a")로 열기
file = fopen("append_file.txt", "a");
if (file == NULL) { //파일 열기를 실패했을 경우
printf("파일 열기 실패\n"); //파일 열기를 실패했다고 출력
return 1;
}
// 파일에 내용 추가
fprintf(file, "이 내용은 새로운 파일에 추가됩니다..\n");
// 파일 닫기
fclose(file);
printf("성공적으로 열린 후 내용이 추가됐습니다.\n");
return 0;
}
x를 활용하여 파일을 이어쓰기 모드로 사용하여
실패했을 경우 파일 열기 실패를 출력하고
성공했을 경우 파일에 새로운 내용이 추가됩니다.
성공적으로 코드가 완성 된다면 "성공적으로 열린 후 내용이 추가됐습니다"는 문구를 출력하는 코드입니다.
'C언어 > 함수' 카테고리의 다른 글
[C언어] strlen 문자열 길이를 구하는 함수 : 사용 예시 형식 구현 (0) | 2023.12.03 |
---|---|
[C언어] getchar : 한개의 문자를 읽는 함수 활용 예시 반복문 (0) | 2023.12.02 |
댓글