Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Arduino
- Visual Micro
- vector
- html
- Array
- 라인트레이서
- 수광 소자
- 아두이노 컴파일러
- list
- 자료구조
- 통계학
- arduino compiler
- map
- priority_queue
- directx
- Stack
- 아두이노
- Algorithm
- 시스템프로그래밍
- Deque
- LineTracer
- stl
- WinAPI
- set
- C언어
- 컴퓨터 그래픽스
- 운영체제
- queue
- 아두이노 소스
- c++
Archives
- Today
- Total
Kim's Programming
C++ 입력함수 cin을 사용해보자 본문
우선 C언어에서의 입력함수 scanf부터 보고 가겠습니다.
1
2
3
4
5
6
7
8
9 |
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void main()
{
int i = 0;
scanf("%d", &i);
printf("입력된 i 값 = %d\n",i);
} |
cs |
음... i 앞에 &도 붙여줘야 입력이 되고.. 불편하지는 않았나요? 이와 같은 기능을 하는 것을 C++으로 작성 해보겠습니다.
1
2
3
4
5
6
7
8
9 |
#include<iostream>
using namespace std;
void main()
{
int i = 0;
cin >> i;
cout << "입력된 i 값 =" << i << endl;
} |
cs |
똑같은 역할을 하는 함수는 다음과 같이 작성할 수 있습니다. 출력함수인 cout 에서는 <<연산자를 사용했던 것과는 반대로 입력함수 cin은 >>연산자를 사용합니다. 두 함수를 직접 비교하면 C언어에서의 scanf보다 C++에서의 cin이 훨씬 좋아 보이는게 보일 겁니다. 입출력 객체에서는 C 표준 라이브러리 보다 많은 장점을 가지고 있습니다.
- 사용 방법이 훨씬 직관 적입니다. 출력시엔 << 연산자로 출력 개체로 보내고 입력 객체는 >>연산자로 입력 받은 값을 변수로 입력 받은 값을 보내는 모양을 띄고 있어서 알아보기도, 사용하기도 쉽습니다. 또한 연산자의 머리부분이 입출력 방향을 명시하므로 모양 따라 사용하면 됩니다.
- 입출력 객체가 데이터 타입을 자동으로 판병하기 때문에 서식을 따로 기억할 필요가 없습니다.(C언어에서 scanf를 사용할때 %d 따위를 붙였던게 서식) 또 서식을 잘못적는 경우도 없기때문에 안전합니다. C언어를 작성하다 보면 printf는 서식과 인수 갯수가 맞지 않아서 다운되는 경우나, scanf에서 &연산자로 주소를 넘기지 않는경우에도 다운이 되는 경우가 있는데, C++의 경우는 자신이 처리 못하는 형식의 경우 컴파일 에러를 발생시키므로 안전합니다.
- 입출력 객체의 <<와 >>연산자는 여러가지 기본 타입에 대해 중복 정의가 되어 있습니다. 하지만 필요한 경우 사용자 정의 타입을 인식하도록 확장이 가능합니다. 이때 사용되는 기술이 연산자 오버로딩이며 이 것을 이용하면 날짜, 시간등 복잡한 정보도 표준 객체로 입출력이 가능합니다. printf와 scanf는 라이브러리 내의 특정 서식만 다룰 수 있는것과 차이가 보입니다.
'Programming > Cplusplus' 카테고리의 다른 글
C++ - 클래스(Class)(2/2) (0) | 2015.08.28 |
---|---|
C++ - 클래스(Class)(1/2) (0) | 2015.08.28 |
C++ - 구조체의 확장 (0) | 2015.08.27 |
C++ 에서의 동적 할당 new/delete (0) | 2015.08.27 |
C++에서의 Hello World!를 구현해보자! (0) | 2015.07.24 |