<iostream>

표준 스트림에서 읽기 및 쓰기를 제어하는 개체를 선언합니다. 이 포함은 C++ 프로그램에서 입력 및 출력을 수행하는 데 필요한 유일한 헤더인 경우가 많습니다.

Syntax

#include <iostream>

참고 항목

라이브러리는 <iostream> , #include <streambuf>, #include <istream>#include <ostream> 문을 사용합니다#include <ios>.

설명

개체는 다음 두 그룹으로 나뉩니다.

  • cin, cout, cerrclog 바이트 지향이며, 기존의 바이트 시 전송을 수행합니다.

  • wcin, wcout, wcerrwclog 프로그램이 내부적으로 조작하는 와이드 문자와 변환되는 넓은 방향입니다.

표준 입력과 같은 스트림에서 특정 작업을 수행하면 동일한 스트림에서 다른 방향의 작업을 수행할 수 없습니다. 따라서 프로그램은 예를 들어 둘 다 cinwcin에서 서로 바꿔서 작동할 수 없습니다.

이 헤더에 선언된 모든 개체는 고유 속성을 공유합니다. 정의한 정적 개체 앞에 생성되었다고 가정할 수 있습니다 <iostream>. 마찬가지로 정의한 정적 개체의 소멸자 앞에 이러한 개체가 제거되지 않는다고 가정할 수 있습니다. (그러나 출력 스트림은 프로그램 종료 중에 플러시됩니다.) 따라서 프로그램 시작 전과 프로그램 종료 후에 표준 스트림에서 안전하게 읽거나 표준 스트림에 쓸 수 있습니다.

그러나 이 보장은 보편적이지 않습니다. 정적 생성자는 다른 변환 단위에서 함수를 호출할 수 있습니다. 호출된 함수는 변환 단위가 정적 생성에 참여하는 불확실한 순서를 감안할 때 이 헤더에 선언된 개체가 생성되었다고 가정할 수 없습니다. 이러한 컨텍스트에서 이러한 개체를 사용하려면 먼저 클래스 ios_base::Init의 개체를 생성해야 합니다.

전역 스트림 개체

이름 설명
cerr cerr 전역 스트림을 지정합니다.
cin cin 전역 스트림을 지정합니다.
clog clog 전역 스트림을 지정합니다.
cout cout 전역 스트림을 지정합니다.
wcerr wcerr 전역 스트림을 지정합니다.
wcin wcin 전역 스트림을 지정합니다.
wclog wclog 전역 스트림을 지정합니다.
wcout wcout 전역 스트림을 지정합니다.

cerr

개체 cerr 는 에 선언된 개체 stderr와 연결된 스트림 버퍼에 대한 출력을 <cstdio>제어합니다.

extern ostream cerr;

Return Value

ostream 개체입니다.

설명

이 개체는 표준 오류 출력에 대한 버퍼링되지 않은 삽입을 바이트 스트림으로 제어합니다. 개체가 생성되면 식 cerr.flags & unitbuf 은 0이 아니고 cerr.tie() == &cout. 자세한 내용은 cerr.flagsunitbuf를 참조하세요.

예시

// iostream_cerr.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>

using namespace std;

void TestWide( )
{
   int i = 0;
   wcout << L"Enter a number: ";
   wcin >> i;
   wcerr << L"test for wcerr" << endl;
   wclog << L"test for wclog" << endl;
}

int main( )
{
   int i = 0;
   cout << "Enter a number: ";
   cin >> i;
   cerr << "test for cerr" << endl;
   clog << "test for clog" << endl;
   TestWide( );
}

cin

cin 전역 스트림을 지정합니다.

extern istream cin;

Return Value

istream 개체입니다.

설명

이 개체는 표준 입력에서의 추출을 바이트 스트림으로 제어합니다. 개체가 생성되면 호출 cin.tie 이 반환됩니다 &cout.

예시

이 예제 cin 에서는 숫자가 아닌 문자가 있을 때 스트림의 장애 비트를 설정합니다. 프로그램은 장애 비트를 지우고 스트림에서 잘못된 문자를 제거하여 계속합니다.

// iostream_cin.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;

int main()
{
   int x;
   cout << "enter choice:";
   cin >> x;
   while (x < 1 || x > 4)
   {
      cout << "Invalid choice, try again:";
      cin >> x;
      // not a numeric character, probably
      // clear the failure and pull off the non-numeric character
      if (cin.fail())
      {
         cin.clear();
         char c;
         cin >> c;
      }
   }
}
2

clog

clog 전역 스트림을 지정합니다.

extern ostream clog;

Return Value

ostream 개체입니다.

설명

이 개체는 표준 오류 출력에 대한 버퍼링된 삽입을 바이트 스트림으로 제어합니다.

예시

clog 사용 예제는 cerr를 참조하세요.

cout

cout 전역 스트림을 지정합니다.

extern ostream cout;

Return Value

ostream 개체입니다.

설명

이 개체는 표준 출력에 대한 삽입을 바이트 스트림으로 제어합니다.

예시

cout 사용 예제는 cerr를 참조하세요.

wcerr

wcerr 전역 스트림을 지정합니다.

extern wostream wcerr;

Return Value

wostream 개체입니다.

설명

이 개체는 표준 오류 출력에 대한 버퍼링되지 않은 삽입을 와이드 스트림으로 제어합니다. 개체가 생성되면 식 wcerr.flags & unitbuf 은 0이 아닌 값입니다. 자세한 내용은 wcerr.flagsunitbuf를 참조하세요.

예시

wcerr 사용 예제는 cerr를 참조하세요.

wcin

wcin 전역 스트림을 지정합니다.

extern wistream wcin;

Return Value

wistream 개체입니다.

설명

이 개체는 표준 입력에서의 추출을 와이드 스트림으로 제어합니다. 개체가 생성되면 호출 wcin.tie 이 반환됩니다 &wcout.

예시

wcin 사용 예제는 cerr를 참조하세요.

wclog

wclog 전역 스트림을 지정합니다.

extern wostream wclog;

Return Value

wostream 개체입니다.

설명

이 개체는 표준 오류 출력에 대한 버퍼링된 삽입을 와이드 스트림으로 제어합니다.

예시

wclog 사용 예제는 cerr를 참조하세요.

wcout

wcout 전역 스트림을 지정합니다.

extern wostream wcout;

Return Value

wostream 개체입니다.

설명

이 개체는 넓은 스트림으로 표준 출력에 삽입을 제어합니다.

예시

wcout 사용 예제는 cerr를 참조하세요.

다음 예제와 같이 wcout 문의 CString 인스턴스를 const wchar_t*로 캐스팅해야 합니다.

CString cs("meow");

wcout <<(const wchar_t*) cs <<endl;

자세한 내용은 기본 CString 작업을 참조하세요.

참고 항목

헤더 파일 참조
C++ 표준 라이브러리의 스레드 보안
iostream 프로그래밍
iostreams 규칙