본문 바로가기

프로그램/흥미로운 시도

1

 

 

동기

파일클래스는 매우 자주 사용한다.

그럼에도 불구하고 뭔가 이름이 복잡했다.

그래서 사용하기가 꺼려졌다.

이름이 단순한 것이 좋을 것이다.

 

관찰과 해결방법

1. 헤더파일의 이름

헤더파일의 이름은 이렇다.

#include <fstream>

file로 바꾸는 것이 나을 것이다.

 

2. 인터페이스

다음은 기본적인 예시다

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

int main() {
  const std::string kFileName = "example.txt";

  // 파일 쓰기
  std::ofstream out_file(kFileName);
  if (!out_file) {
    std::cerr << "파일 열기 실패 (쓰기).\n";
    return 1;
  }
  out_file << "Hello, C++!\n";
  out_file.close();

  // 파일 읽기
  std::ifstream in_file(kFileName);
  if (!in_file) {
    std::cerr << "파일 열기 실패 (읽기).\n";
    return 1;
  }

  std::string line;
  while (std::getline(in_file, line)) {
    std::cout << line << '\n';
  }

  return 0;
}

 

 

 

 

입출력 스트림의 상속 구조

            std::ios_base
                 ↑
              std::ios
               ↑    ↑
      std::istream  std::ostream
               ↑        ↑
      std::ifstream  std::ofstream
               ↑        ↑
             std::fstream

 

일단 다음포스팅에서 계속..