Introduction
C++에서의 스트림이란 무엇인지, 이와 관련하여 파일 입출력은 어떻게 하는지 알아보려고 한다.
스트림이란?
C++ 프로그램은 파일이나 콘솔의 입출력을 직접 다루지 않고, 스트림이라는 흐름을 통해 다룬다.
스트림은 운영체제에 의해 생성되며, 실제의 입력이나 출력의 중간 매개자 역할을 한다.
또, 스트림은 입력이 바로바로 전달하는 것이 아닌 내부의 버퍼를 이용하여 입력을 한데 모아 한꺼번에 전송한다.
표준 입출력 & 파일 입출력
표준 입출력 스트림은 iostream, 파일 입출력 스트림은 fstream 헤더파일의 클래스에서 관리한다.
표준 입출력에서는 cin/cout의 객체를 사용하지만, 파일 입출력에서는 ifstream/ofstream의 객체를 사용한다.
즉, 우리가 흔히 콘솔이나 cmd 창에서 입력과 출력을 할 경우에는 cin/cout을 사용하지만,
새로운 파일 내부에 입력이나 출력을 할 경우에는 ifstrea/ofstream을 사용한다.
파일 입출력 방법
① 헤더 파일 선언
파일 입출력을 하기 위해 이를 관리하는 헤더 파일인 fstream을 선언한다.
#include <fstream>
② 스트림을 관리하기 위한 ifstream / ofstream 객체 생성
ifstream in("in.txt"); //객체 생성 후 in.txt 파일과 연결
ofstream out("out.txt"); //객체 생성 후 out.txt 파일과 연결
③ 객체를 사용하여 입출력 수행
string str;
in >> str; //in.txt 파일 내에서 string 입력 받기
out << str; //out.txt 파일에 string 출력 하기
④ 작업이 끝나면 파일과 연결 종료
in.close(); //close 함수를 통해 명시적으로 파일과 연결 종료
실행 결과
☞ in.txt에 입력된 string이 out.txt에 출력된 것을 볼 수 있다.
참고 자료
http://www.tcpschool.com/cpp/cpp_io_file
'Language > c++' 카테고리의 다른 글
[C++] STL map 사용법 (0) | 2023.02.03 |
---|---|
[C++] 소수점 (0) | 2022.11.08 |
[C++] 범위 기반 for문 (0) | 2022.11.08 |