본문 바로가기

C++ 일기

5. std::cout과 std::cin (C++의 입출력)

C에서는 printf 함수와 scanf함수를 통해서 입출력을 관리했다.

그러나 C++에서는 std 클래스를 통해 입출력을 관리한다.

 

#include<iostream>

int main()
{
   std::cout << "hello world" << endl;
}

위와같이 입력하면 hello world라는 문자열이 출력되게 되는데,

여기서 std::cout은 std 클래스에 있는 기능 중 출력을 담당하는 cout 이라는 기능을 사용하겠다고 알리는 것이다.

이후, << "hello world" 부분은, 좌항의 std::cout에 우항 "hello world"라는 문자열을 전달해줌으로써

std::cout 기능을 통해 "hello world" 라는 문자열을 출력하라. 라는 명령을 내리는 것이다.

그 다음으로 << endl 은 개행 기능으로, 우리가 사용하는 컴퓨터의 엔터를 통해 다음 줄로 넘기는 기능이다.

 

 

 

 

std에는 출력 외에 입력을 받을 수 있는 기능도 존재하는데, 사용법은 C의 scanf 기능과 유사하다.

#include<iostream>

int main()
{
   int num;
   std::cin >> num;
}

위와같은 방식으로 입력을 받을 수 있는데, 해당 기능은 num 변수에 들어갈 정수를 입력을 통해 초기화하는 기능이다.

std::cin은 예의 std::cout과 동일하게 std클래스의 cin 기능을 사용하는 부분인데,

전과 달리 << 꺾새가 이번에는 반대로 돌아가있다. (>>)

 

std::cout는 해당 기능에 "hello world"를 전달하여 출력하였지만

std::cin은 해당 기능으로 부터 입력받은 정수를 num에 전달하기 때문에 꺾새의 방향이 반대가 되었다.

 

 

 

 

위처럼 std::cin으로 입력을 받게되면 C의 scanf 때와 동일하게 명령프롬프트의 커서가 점멸하게 되는데,

이 때 정수값을 입력하고 Enter를 누르게 되면 정상적으로 num변수의 값이 입력한 정수값으로 초기화 된다.

이렇게 std::cin으로 입력을 받은 num 변수의 값은 아래와 같이 변수처럼 사용이 가능하다.

#include<iostream>

int main()
{
   int num;
   std::cin >> num;
   
   std::cout << num;	// 출력값은 입력받은 값
}

 

'C++ 일기' 카테고리의 다른 글

6 - 2. 증감연산자 (++, --)  (0) 2024.02.20
6 - 1. 산술연산자 (+, -, *, /, %)  (0) 2024.02.20
4. 자료형 (Data Type)  (2) 2024.02.20
3. 변수 (Variable)  (0) 2024.02.20
2. main함수 (int main())  (0) 2024.02.20