C++/C++ 기본

화면 출력

검정비니 2018. 7. 1. 11:44
728x90
반응형

화면 출력


C++에서는 다음과 같이 cout과 << 연산자를 이용하여 문자열 뿐 아니라 다양한 데이터를 화면에 출력한다.


i.e.

std :: cout << "Hello\n"; //화면에 Hello를 출력하고 다음 줄로 넘어감



1. cout 객체


cout은 스크린 장치와 연결된 C++ 표준 출력 스트림 객체 (standard output stream object) 이다. cout은 C++ 프로그램에서 출력한 데이터를 자신과 연결된 스크린에 대신 출력해 준다. cout 앞에 붙여진 std::의 접두어는 cout의 이름 공간(namespace)이 std임을 표시한다.



2. << 연산자


<< 연산자는 스트림 삽입 연산자(stream insertion operator)로 불리며, 오른쪽 피연산자 데이터를 왼쪽 스트림 객체에 삽입한다. 본래 << 연산자는 정수를 왼쪽으로 시프트(shift)하는 C++의 기본 연산자이다. 그러나 출력 스트림에 데이터를 삽입하는 삽입 연산자로 <iostream> 헤더 파일에 재정의(operator overloading) 되어 cout과 함께 사용된다.



3. 여러 개의 << 연산자로 한 문장에 여러 데이터 출력


한줄에 여러 개의 << 연산자를 사용하여 여러 개의 데이터를 출력할 수 있다. << 연산자는 왼쪽에서 오른쪽으로 순서대로 실행된다.


i.e.

std::cout << "hello\n" << "첫 번째 맛보기 예제입니다.\n";




4. 화면에서 다음 줄로 넘어가기


화면의 커서를 다음 줄로 넘기기 위해서 '\n' 문자를 사용한다. 이 문자는 키보드의 엔터키와 동등한 역할을 한다. 따라서, 문자열에 이 문자를 추가하게 되면 다음 줄로 넘어가게 된다.


C++에서는 '\n' 대신 endl 조작자를 사용해도 된다. endl 은 C++에서 도입한 조작자(manipulator)라고 불리는 함수이다.


'\n'를 사용할 경우, << 연산자가 '\n' 문자를 cout의 스트림 버퍼에 단순히 삽입하고 끝난다. 그 후 cout 스트림 버퍼가 꽉 차거나 강제 출력 지시가 있는 경우, cout은 '\n'을 해석하여 커서를 다음줄로 넘긴다.


한편, endl()은 <iostream> 헤더 파일에 작성되어 있는 함수이다. std::cout << std::endl;이 실행되면, << 연산자가 endl() 함수를 호출한다. 이 함수는 '\n' 문자를 cout 스트림 버퍼에 넣고, cout에게 현재 스트림 버퍼에 있는 데이터를 즉각 장치에 출력하도록 지시한다. endl을 사용하면 커서를 다음 줄로 넘기는 것과 동시에 현재 cout의 스트림 버퍼에 있는 모든 데이터를 출력시킨다.

반응형

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

키 입력 받기  (0) 2018.07.01
namespace와 std::  (0) 2018.07.01
#include <iostream>  (0) 2018.06.29
main 함수  (0) 2018.06.29
주석문  (0) 2018.06.29