본문 바로가기

C++/C, C++, STL

표준 입출력을 위한 std::cout, std::cin

iostream

C++의 iostream은 문자열의 표준 입출력(I/O)를 지원하는 클래스입니다. 소스 파일에서 표준 입출력을 사용하려면 <iostream> 헤더 파일을 include합니다.

더보기

C와 마찬가지로 C++에서는 I/O에 대한 기본 제공 기능이 없습니다. 다만 C++ 컴파일러는 iostream 클래스를 사용해 I/O 기능을 제공합니다.

iostream에서 출력은 ostream ofstream osringstream으로 구성되며, 입력은 istream ifstream istringstream으로 구성됩니다.

표준 출력을 위한 std::cout

ostream 클래스에서 제공하는 표준 출력입니다.

C언어에서의 printf와의 주요한 차이점은 서식 문자열 대신 시프트 연산자 <<를 사용한다는 점입니다.

std::cout << "hello world!";

출력하려는 인자가 여러 개인 경우 << 연산자를 중첩하여 사용합니다.

int a = 123;
std::string b = ", and this is string";

std::cout << "this is number " << a << b;

cout에서 개행은 std::endl을 사용합니다.

std::cout << "hello world!" << std::endl;

또는 단순히 개행 문자 \n로 대체 할 수 있습니다.

std::cout << "hello world!\n";

표준 입력을 위한 std::cin

istream 클래스에서 제공하는 표준 입력입니다.

C언어의 scanf와 달리 시프트 연산자 >>입력된 데이터를 저장할 변수를 지정합니다.

int a;
    
std::cin >> a;

여러 개의 입력을 받으려면 >> 연산자를 중첩하여 사용합니다.

int a, b;

std::cin >> a >> b;

정리 및 복습

  • iostream은 C++에서 표준 입출력을 지원하는 클래스입니다.
  • ostreamistream은 iostream을 구성하는 주요 클래스입니다.
  • 표준 출력은 std::cout을 사용하고 표준 입력은 std::cin을 사용합니다.
  • C언어의 printf scanf와 달리 서식 문자열 %d %c를 사용하지 않으며 << >>와 같은 시프트 연산자를 사용합니다.