본문 바로가기
Programming/C,C++

[C++] #1 C++ 에서의 입출력 (std::cout, std::cin, std::endl)

by yoiii 2020. 12. 22.

Goal

1. std::cout와 <<연산자를 이용하여 출력하기

2. std::cin과 >>연산자를 이용하여 입력받기

3. std::endl를 이용해 개행하기


● printf를 대신하는 std::cout


#include <iostream>

int main(void)
{
	std::cout << "Hello World" << std::endl;
	return 0;
}

 

위의 코드를 하나씩 뜯어가며, 이해해보자. 

#include <iostream>

헤더파일 선언부이다.

단, C언어와 다른점이 있다면, C++은 뒤에 확장자 h를 생략하기로 약속했다.

그 이유는, 새로운 C++ 표준 도입으로, 구 표준 라이브러리와 신 표준 라이브러리의 구분하기 위함이기도 하고,

소스코드를 쉽게 변경하기 위해서이다.

 

std::cout << "Hello World" << std::endl;

std::cout << '출력 대상';

다음과 같은 형태로 출력한다.

C언어 에서의 printf 함수와 같은 것 인데, std::cout는 printf와 달리 별도의 출력포맷을 지정할 필요가 없다.

 

<< std::endl

std::endl의 출력은 개행을 의미한다. C에서의 \n 개행문자 같은 것이다.

 

따라서 위 코드를 해석해 보자면,

std::cout를 이용해 Hello World 문자열을 출력하고, std::endl을 이용해 개행을 해라! 라는 뜻이다.


● scanf를 대신하는 std::cin


#include <iostream>

int main(void)
{
	int inputVal1;
	std::cout << "inputVal1 : ";
	std::cin >> inputVal1;
	std::cout << inputVal1 <<std::endl;

	int inputVal2;
	std::cout << "inputVal2 : ";
	std::cin >> inputVal2;
	std::cout << inputVal2 <<std::endl;

	return 0;
}

 

다음으로 공부할 내용은 std::cin을 이용한 출력이다.

 

int inputVal1;

std::cout << "inputVal1 : ";
std::cin >> inputVal1;
std::cout << inputVal1 <<std::endl;

 

 

다음과 같은 형식으로 데이터를 입력받는다.

std::cin >>'변수'

std::cin 역시 std::cout와 마찬가지로, 별도의 포맷지정을 요구하지 않는다.

 

 

#include <iostream>

int main(void)
{
	int inputVal1,inputVal2;
	std::cout << "inputVal1,inputVal2 : ";
	std::cin >> inputVal1 >> inputVal2;
	std::cout << inputVal1 << inputVal2 << std::endl;
	return 0;
}

 

연속적인 데이터의 입력도 가능하다.

std::cin >>'변수1' >> '변수2';

이렇게 입력 받으면 되는데, scanf와 마찬가지로, 

탭, 스페이스 바, Enter 키의 입력을 구분자로 사용한다.

 

 

마지막으로, 문자열의 입출력에 대해 알아보자.

 

#include <iostream>

int main(void)
{
	char name[100];
	std::cout << "What is your name? : ";
	std::cin >> name;
	std::cout << "My name is " << name << std::endl;
	return 0;
}

입출력의 대상이 문자열이라는 차이만 있을 뿐, 앞의 예제들과 큰 차이가 없다.

 


 

댓글