본문 바로가기
IT/C++(CPP)

CPP 초급 강좌 4. C++ 표준입출력

by 신림83 2020. 10. 2.
반응형

CPP 초급 강좌 4. C++ 표준입출력

이번에는 CPP의 표준입출력 관련해서 적어보겠습니다.

 

먼저 기존 C코드를 보고 해당 코드를 CPP 코드화 하는 방향으로 진행해보겠습니다.

 

예제 1.

예제 1번은 c 코드입니다. c -> cpp 코드화를 위해서 

 

printf -> cout 으로 대쳐해야합니다. cout은 c에서 out출력한다란고 생각하시면 됩니다.

 

7번 라인을 수정해 보겠습니다.

printf("숫자를 입력하세요 ? >> ");

->

std::cout << "숫자를 입력하세요 ? >> "; 

 

로 코드를 변경해야 합니다. cpp의 모든 요소는 std:: 네임스페이스에 있으니, std 사용, << 는 추출연산자 입니다. 뒤에 문자열을 적어줍니다.

 

9번 라인을 수정해 보겠습니다.

printf("입력한 숫자는 : %d\n", number);

->

std::cout << "입력한 숫자는 : " << number << std::endl;

 

cpp 의 표준출력 std::cout 은 다음의 특징을 가집니다.

 

 변수 출력시 "서식문자"를 사용하지 않아도 된다. %d, %s등.. << 추출연산자에 바로 변수를 넣으시면 됩니다.

 << 여러번 사용하여 출력시킬수 있습니다.

std::cout << "입력한 숫자는 : " << number << std::endl;

입력 숫자고 7이라 가정할때,  의 출력결과는 "입력한 숫자는 :7" 하고 계행됩니다.

 

std::endl 개행문자입니다. '\n' 입력해도 동일합니다. end line 의 뜻입니다.

 

8번 라인을 수정해보겠습니다.

scanf 를 cpp 표준입력인 cin 대처하고 >> 연산자를 사용하셔야 합니다.

 

scanf("%d", &number);

->

std::cin  >> number;

 

cin 역시 서식을 사용할 필요가 없으며 &를 사용하여 주소 연산자를 사용하지 않아도 됩니다.

 

 

cout, cin을 사용하시려면, iostream 해더가 필요합니다.

 

예제 2.

예제 2번은 cpp를 이용해 예제 1번을 표현한 결과입니다.

 

printf, scanf는 함수 인데, cout, cin은 뭐길래 저렇게 표현이 되는걸까요? 라고 생각할수 있는데, 이들은 연산자 재정의를 사용하게 구현되어 있습니다. 이후에 관련하여 설명할 기회가 있으면 하도록 하겠습니다.

반응형

댓글