#include <stdio.h>
int main(void){
FILE *fp;
fp = fopen("a.txt", "r");
if (fp ==NULL){
printf("do not open the file.\n");
return 1;
}
printf("open File.\n");
fclose(fp);
return 0;
}
### 프로그램의 주요 부분 설명
- `FILE *fp;`는 파일 작업을 위한 파일 포인터 `fp`를 선언합니다.
- `fp = fopen("a.txt", "r");`는 현재 디렉토리에서 "a.txt"라는 이름의 파일을 읽기 모드(`"r"`)로 엽니다. 파일 열기가 성공하면, `fp`는 열린 파일에 대한 포인터를 가지게 되며, 파일 열기가 실패하면 `fp`는 `NULL`을 가지게 됩니다.
- `if (fp == NULL)` 조건문은 파일이 성공적으로 열렸는지 확인합니다. 파일 열기가 실패한 경우, 즉 `fp`가 `NULL`인 경우 "do not open the file.\n"라는 메시지를 출력하고, `return 1;`을 통해 프로그램을 비정상적으로 종료합니다.
- 파일 열기에 성공하면, "open File.\n" 메시지를 출력합니다. 이는 파일이 성공적으로 열렸음을 사용자에게 알립니다.
- `fclose(fp);`는 열린 파일을 닫습니다. 프로그램에서 파일을 열었다면, 사용이 끝난 후에는 반드시 파일을 닫아야 합니다.
### 실행 결과
- 만약 "a.txt" 파일이 현재 디렉토리에 존재하고, 읽기 가능한 상태라면, 프로그램은 "open File." 메시지를 출력하고 종료됩니다.
- "a.txt" 파일이 존재하지 않거나, 다른 이유로 파일을 열 수 없는 경우, "do not open the file." 메시지를 출력하고 비정상적으로 종료됩니다.
### 주의사항
파일을 다루는 프로그램을 작성할 때는 항상 파일 열기에 실패할 가능성을 고려해야 하며, 파일 열기에 실패했을 때 적절한 처리를 해주어야 합니다. 또한, 열린 파일은 반드시 닫아주어야 합니다. 이는 파일이나 시스템 자원의 누수를 방지하고, 파일이나 데이터의 손상을 예방하기 위함입니다.
'개념 > 혼자 공부하는 C언어' 카테고리의 다른 글
chapter 18) 파일의 형태와 개방 모드가 다른 경우 (0) | 2024.10.15 |
---|---|
chapter 18) 파일의 내용을 화면에 출력하기 (0) | 2024.10.14 |
chapter 18) 여러 줄의 문장을 입력하여 한 줄로 출력 (1) | 2024.10.12 |
chapter 18) 버퍼를 공유함으로 인해 발생하는 문제 (1) | 2024.10.11 |
chapter 18) 문자열을 한 문자씩 파일로 출력하기 (6) | 2024.10.10 |