본문 바로가기
개념/혼자 공부하는 C언어

chapter 18) 파일을 열고 닫는 프로그램

by kiseno 2024. 10. 13.
728x90
반응형
SMALL
#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." 메시지를 출력하고 비정상적으로 종료됩니다.

### 주의사항

파일을 다루는 프로그램을 작성할 때는 항상 파일 열기에 실패할 가능성을 고려해야 하며, 파일 열기에 실패했을 때 적절한 처리를 해주어야 합니다. 또한, 열린 파일은 반드시 닫아주어야 합니다. 이는 파일이나 시스템 자원의 누수를 방지하고, 파일이나 데이터의 손상을 예방하기 위함입니다.

728x90
반응형
LIST