동기
파일클래스는 매우 자주 사용한다.
그럼에도 불구하고 뭔가 이름이 복잡했다.
그래서 사용하기가 꺼려졌다.
이름이 단순한 것이 좋을 것이다.
관찰과 해결방법
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
일단 다음포스팅에서 계속..