<iostream>
표준 스트림에서 읽기 및 쓰기를 제어하는 개체를 선언합니다. 이 포함은 C++ 프로그램에서 입력 및 출력을 수행하는 데 필요한 유일한 헤더인 경우가 많습니다.
Syntax
#include <iostream>
참고 항목
라이브러리는 <iostream>
, #include <streambuf>
, #include <istream>
및 #include <ostream>
문을 사용합니다#include <ios>
.
설명
개체는 다음 두 그룹으로 나뉩니다.
표준 입력과 같은 스트림에서 특정 작업을 수행하면 동일한 스트림에서 다른 방향의 작업을 수행할 수 없습니다. 따라서 프로그램은 예를 들어 둘 다 cin
wcin
에서 서로 바꿔서 작동할 수 없습니다.
이 헤더에 선언된 모든 개체는 고유 속성을 공유합니다. 정의한 정적 개체 앞에 생성되었다고 가정할 수 있습니다 <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.flags
및 unitbuf
를 참조하세요.
예시
// 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.flags
및 unitbuf
를 참조하세요.
예시
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 작업을 참조하세요.