C++ 스트림

rylynn6318·2021년 1월 4일
0

C++공부

목록 보기
2/6

항상 잘 이해가 되지않던 스트림에 대해 찾아보고 간단히 정리해보았다.

1. 출력(ostream)

cout : 표준 출력 스트림
cerr : 에러 보고를 위한 표준 스트림

cout<< "hello, world!";
cerr<< "fatal error !";

flush() : 출력 스트림의 버퍼를 한번에 내보내는 함수

flush가 되는 조건

  • endl과 같은 특별한 마커 도달
  • 스트림 객체가 스코프에서 벗어나 소멸할 때
  • 연관된 입력 스트림에서 입력이 필요할 때(cout이후 cin에 도달했을 때)
  • 스트림 버퍼가 다 찼을 때
  • 스트림에 명시적으로 내보낼 때

출력 스트림 매니퓰레이터(manipulator)

  • hex, oct, dec : 숫자를 출력할 때 각각 16진수, 8진수, 10진수 포맷 사용
  • setw : 숫자 출력을 위한 자릿수 크기 설정
  • setfill : 숫차 출력을 위해 지정된 자릿수 보다 숫자의 값이 작을 때 빈공간을 채울 문자 지정
  • put_money : 숫자를 화폐 금액으로 포매팅
  • put_time : 시간을 날짜로 포매팅

2. 입력(istream)

cin : 표준 입력 스트림
getline : 한 행 전체를 읽고 싶을 때 사용( 공백 포함)

cout << "이름을 입력하세요 : /n";
string str;
getline(cin, str);
cout << "당신의 이름은 "<< str << " 입니다.";

※ 스트림의 상태체크하는 함수 : good()
※ 스트림의 상태를 초기화 하는 함수 : clear()

3. 파일 입출력 (fstream)

ifstream : 파일에서 읽기
ofstream : 파일에 쓰기
fstream : 파일에 읽고 쓰기

파일을 열 때는 스트림 객체의 상태를 통해서 가능

fstream fs{"file"};
if(!fs)
 error("파일 열기 실패");

파일 입출력은 관련 내용은 C++ 17에서 추가된 Filesystem과 함께 정리할 예정이다.

profile
엔진 프로그래머를 목표로합니다.

관심 있을 만한 포스트

0개의 댓글