HANCO

[C++] [01] 입출력 방식 본문

Programming/C++

[C++] [01] 입출력 방식

HANCO 2016. 12. 20. 14:27

오늘은 C++입출력 방식에 대해 배워봅시다.


C++은 C언어를 포함할 수 있는 언어로서, C언어에서 작성한 대부분의 함수들은 C++환경에서 컴파일이 가능 합니다. 그러나 C++에서의 입출력방식은 C언어와 약간의 차이점이 있습니다.


C언어에서 printf, scanf를 사용했었다면  C++에서는 cout, cin이라는 문법을 사용합니다.


[정리]


-C언어-

printf("Hello World!");

char str;

scanf("%s", &str);


-C++언어-

cout<<"Hello World!";

char str;

cin>>str;



위의 [정리] 에서는 간단하게 C언어와 C++언어의 입출력방식 차이를 적었는데요. 그럼 "<<", ">>"라는 문구들이 궁금하실 겁니다.


C언어에서는 #include<stdio.h>를 전처리하여 printf와 scanf를 사용하였다면,

C++언어에서는 #include<iostream>이라는 전처리를 하여 cout과 cin을 사용 합니다.


#include <iostream>


 int main(){
        int num = 1;

std::cout<<num<<std::endl;

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

}


대략 C++언어의 입출력은 위와 같습니다. #include<iostream>문을 사용한다면 cout, cin, endl이라는 세가지의 문법을 사용할 수 있습니다.


- std::cout : 출력

- std::cin : 입력

- std::endl : 개행 

---> 이 세가지의 문법이 #include<iostream>에 포함되어 있다고 보시면 됩니다.


여기서 의문점이 하나들게 됩니다. 저 반복되어지는 "std::" 라는 문구를 꼭 계속 적어줘야 하나? 라는 것 입니다.

그래서, 개발자들은 using namespace std; 라는 문구를 전처리기아래에 추가해줍니다. 이 문구의 뜻은 앞으로 std::를 사용할 건데 앞에 붙이지 않아도 머라하지 말아라 라고 컴파일러에게 명시해 주는 것이라고 보시면 될거 같습니다.


using namespace std;를 사용한 소스를 봅시다.


#include <iostream>

using namespace std;


 int main(){
        int num = 1;

cout<<num<<endl;

cout<<"Hello World!"<<endl;

}


-> 훨씬 코드가 간단해지는 것을 확인 하실 수 있어요.ㅎㅎ


cout, cin을 활용하는 법 입니다.

cout은 여러개의 <<, <<, << 등을 사용함으로서 변수와, 문자열을 구별해서 출력할 수 있습니다.


int age = 23;

cout<<"제 나이는 "<<age<<"살 입니다."<<endl;


[결과] >> 제 나이는 23살 입니다.


cin도 마찬가지로 여러개의 >>, >>, >> 등을 사용함으로서 여러개의 변수를 동시에 입력받을 수 있습니다. C언어로 생각하자면 scanf("%d %d %d", &변수1, &변수2, &변수3);이 되겠죠?


int val1, val2, val3;

cin>>val1>>val2>>val3>>;


--->변수 세개를 입력 받을 수 있습니다.


이 정도를 배웠다면 C++환경에서 간단한 입출력은 하실 수 있으시다고 생각됩니다.

감사합니다. 질문은 댓글에 남겨주세요







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

[C++] [02]함수오버로딩  (0) 2016.12.22