사용자가 프로그램과 대화하기 위해서는 입출력을 담당하는 수단이 필요하다.
C++의 모든 것은 객체로 표현되므로, 입출력을 담당하는 수단 또한 C언어의 함수와는 달리 모두 객체이다.
C언어의 printf() 함수나 scanf() 함수처럼 C++에서도 iostream 헤더 파일
에 표준 입출력 클래스를 정의하고 있다.
C++에서는 cout
객체로 출력 작업을, cin
객체로 입력 작업을 수행하고 있다.
cout 객체는 다양한 데이터를 출력하는 데 사용되는 C++에서 미리 정의된 출력 스트림을 나타내는 객체다.
std::cout << 출력할데이터;
삽입 연산자(<<)
는 오른쪽에 위치한 출력할 데이터를 출력 스트림에 삽입한다. 출력 스트림에 삽입된 데이터는 스트림을 통해 출력 장치로 전달되어 출력된다.
cin 객체는 다양한 데이터를 입력받는 데 사용되는 C++에서 미리 정의된 입력 스트림을 나타내는 객체다.
std::cin >> 저장할변수;
추출 연산자(>>)
를 통해 사용자가 입력한 데이터를 입력 스트림에서 추출하여, 오른쪽에 위치한 변수에 저장한다.
이때 cin 객체는 자동으로 사용자가 입력한 데이터를 오른쪽에 위치한 변수의 타입과 동일하게 변환시킨다.
#include <iostream>
int main(void) {
char buff[512];
std::cout << "hello world !" << std::endl;
std::cout << "Input a world: ";
std::cin >> buff;
std::cout << "You entered: [" << buff << "]" << std::endl;
return 0;
}
C언어 표준 입출력 함수 printf(), scanf() 와 C++ 표준 입출력 객체의 차이점
삽입 연산자(<<)와 추출 연산자(>>)가 데이터의 흐름을 나타내므로 좀 더 직관적
C++ 표준 입출력 객체는 입출력 데이터의 타입을 자동으로 변환시하므로 더욱 편리하고 안전