std::ifstream in("filename.txt"); // 기본 : 텍스트 형식으로 읽음
std::ifstream in1("filename1.txt", std::ios::binary); // 데이터를 바이너리로 읽음
std::string s;
// 문자열 하나하나 전부 받기
while(in) {
char buf[100];
in.getline(buf, 100); // 100 count까지 읽기(but 문자열의 끝이 0이므로
// 거기까지밖에 못읽음.
cout << buf << endl;
}
// 파일 전체 읽는 예제
if(in) {
in.seeksg(0, std::ios::end); // 파일 끝으로 포인터 옮기기
int size = in.tellg(); // 현재 파일 포인터의 위치를 가져옴
// (파일의 크기 구하기)
s.resize(size); // string을 재할당
in.seeksg(0, std::ios::beg); // 파일 포인터를 다시 0으로 옮김(처음부터 읽기)
in.read(&s[0], size); // size만큼 읽어서 string에 담기
std::cout << s << endl; // string 출력
}
in.close();
in1.close();
std::ofstream out("filename.txt"); // 기본 : 텍스트 형식으로 내보냄
// + 기존 파일을 모두 지우고 0번 포인터부터 읽음
std::outstream out1("filename1.txt", std::ios::app); // 파일 끝에서부터 읽음
out << "문자열 입력" << endl; // 데이터 쓰기
<fstream> 헤더파일에 정의되어 있으며, ifstream, ofstream을 활용해서 할 수 있다.
'프로그래밍 언어 > C++' 카테고리의 다른 글
C++ 프로그래밍 방법론 / 함수 객체 Functor (0) | 2023.02.13 |
---|---|
C++ 문법 / 템플릿 (0) | 2023.02.13 |
C++ 표준 라이브러리 / istream, ostream에 관한 이모저모 (0) | 2023.02.13 |
C++ 문법 / 정적 메서드와 정적 멤버 변수(static) (0) | 2023.02.12 |
C++ / Deep Copy와 Shallow Copy (0) | 2023.02.12 |
댓글