본문 바로가기
Language & Framework & GIT/C++

[씨앤씨뿔] C++ 기초/ 입출력 문자

by veganwithbacon 2023. 4. 12.
반응형

C++에서의 표준 입출력

왜 C++이 좋다고 하는 것일까?

 

JAVA의 system.out.print

C의 printf

C++?


✅C++ 표준 출력 cout

C++의 표준 출력은 std::cout을 이용한다.

C에서는 printf가 있다면 C++에는 std::cout이 있다.

std::cout을 통해 알아야하는 점은 "std::" => std 네임스페이스에 속해 있다는 것이다.

 

c언어와 달라진 점은 C++은 뒤에 확장자 h를 생략할 수 있다는 점이다.

#include<iostream>

새로운 C++표준 도입으로, 구/신 표준 라이브러리의 구분과 더불어 소스코드를 쉽게 변경하기 위함이다.

 

std::out << "chicken noodle soup" << std::endl;

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

다음과 같이 출력되며,std::cout는 printf와 달리 별도의 출력포맷을 지정할 필요가 없다.

 

또 달라진 점!

<<std::endl 

c언어에서처럼 \n을 통해 개행할 수도 있지만, std::endl의 출력을 통해 개행을 할 수도 있다.

개행 문자? 줄바꿈문자(텍스트 한 줄이 끝났음을 표시하는 문자 또는 문자열)라고 보면 된다.

#include<iostream>
int main(void)
{
	// '\n'
    std::cout << "cout 줄바꿈1" << "\n";
    
    // '\n'
    std::cout << "cout 줄바꿈2\n";
    
    // std::end1
    std::cout << "cout 줄바꿈3 " << std::endl;
    
    std::cout << "개행 끝";
    
    return 0;
}

std::cout을 통해 출력한 위에서부터 세가지 모두 \n이나 endl을 통해 줄바꿈을 실행하므로 모두 출력 후 줄바꿈이 일어난다.

C++의 표준이 cout이지만, pritnf를 사용해도 무방하다.


✅C++ 표준 입력 cin

C에서 C++로 오면서 혁신적인 것은 입출력 시에 별도의 포맷지정을 요구하지 않는다는 점이다.

C++의 표준 출력은 std::cin을 이용한다.

C에서는 printf가 있다면 C++에는 std::cout이 있다.

 

std:cin>>'변수'

위와 같은 형태로 데이터를 입력받는다.

C에서 scanf의 역할을 한다고 보면 된다.

#include<iostrem>
#include<string>

int main(void)
{
	int num;
    std::string str;
    
    std::cout << "메뉴 선택 : ";
    std::cin >> menuNum;
    
    std::cout << "메뉴명 입력 : ";
    std::cin >> str;
    
    std::cout << "입력 받은 메뉴 번호는 " << num << "입니다." << std::endl;
    std::cout << "입력 받은 문자열은 " << str << "입니다." << std::endl;
    return 0;
}

cout이 <<로 나가는 것과는 반대로 cin은 >>로 방향을 반대로 쓰는 시프트 연산자를 사용한다.

시프트 연산자가 나오면 유저에게 입력받는 데이터를 저장할 변수를 지정해주면 된다.

 

C++은 scanf처럼 데이터 타입을 알려주는 서식 문자열이 필요없다.

또한 주소를 나타내는 주소 연산자 &도 필요로 하지 않는다.

 

C언어에서의 번거로움을 모두 덜어내고, 위의 예제처럼 C++에서 cin은 시프트연산자가 cin쪽으로 입을 벌리는 것과 시프트 연산자 이후에 변수를 작성해준다. 이 두 가지만 기억하면 된다.

 

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

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

위처럼 입받을때 scnaf와 마찬가지로, 

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

 

문자열의 입출력은 문자와 마찬가지로, 앞선 예제들을 참고하면 된다.

반응형

댓글