Nagie's DevStory

[CPP] 39. 파일 입출력 (File I/O) [ 1 ] 본문

Programming/C++

[CPP] 39. 파일 입출력 (File I/O) [ 1 ]

Nagie 2023. 10. 23. 22:44
728x90

C++에서 파일 입출력을 하기 위해선 <fstream>헤더 파일을 사용해야 한다.

기본적으로 다음 3가지 유형의 스트림 클래스를 제공한다.

 

1. ofstream

 

Output File Stream의 약자고 파일에 데이터를 쓰기 위한 스트림 클래스다.

 

2. ifstream

 

Input File Stream의 약자고 파일로부터 데이터를 읽기 위한 스트림 클래스다.

 

3. fstream

 

File Stream의 약자고 파일을 읽고 쓰기 위한 스트림 클래스다.

 

아래는 파일 입출력의 기본적인 사용 방법에 대한 예시이다.

 

파일 쓰기 (Output)

#include <iostream>
#include <fstream>

int main() {

    std::ofstream outputFile("example.txt"); // 파일을 쓰기 위한 스트림 생성

    if (outputFile.is_open()) {
    
        outputFile << "Hello, World!" << std::endl;
        outputFile << 42 << " " << 3.14 << std::endl;
        outputFile.close(); // 파일을 닫습니다.
        
    } else {
    
        std::cerr << "파일을 열 수 없습니다." << std::endl;
    }
}

 

파일 읽기 (Input)

#include <iostream>
#include <fstream>
#include <string>

int main() {

    std::ifstream inputFile("example.txt"); // 파일을 읽기 위한 스트림 생성
    std::string line;

    if (inputFile.is_open()) {
    
        while (std::getline(inputFile, line)) {
        
            std::cout << line << std::endl;
        }
        
        inputFile.close(); // 파일을 닫습니다.
        
    } else {
    
        std::cerr << "파일을 열 수 없습니다." << std::endl;
    }
}

 

생각보다 간단하다 다만 파일을 사용하고 나면 close()를 호출해 파일을 닫아줘야 한다.

동적 메모리를 관리하듯 파일을 쓰고 닫으면 될 듯하다.

 

728x90
Comments