1. cin
=> <iostream> 에 존재
=> 표준 입력 버퍼에서 개행 문자를 제외한 값을 가져옴
=> 공백, 개행 무시
=> 개행 키보드 버퍼에 남겨둠
=> space 단위로 끊어서 입력 받을 수 있다
cin은 문자와 문자열 모두 입력받을 수 있습니다.
예를들면요,
#include
<iostream.h>
void main()
{
char a; //문자변수
선언
cin>>a; //문자입력 받음
cout<<a; //입력했던 문자
출력
}
또 다른 예는요,
#include <iostream.h>
void main()
{
char
a,b;
cin>>a;
cin>>b;
cout<<a<<"
"<<b;
}
이 예의 결과는요,
t입력 후 엔터
y입력 후
엔터
결과=> t y 출력
변수 a에는 t, 변수 b에는 y가 입력되기 때문입니다.
또
다른 예는요,
#include <iostream.h>
void
main()
{
char a[10]; //char형 배열 선언
cin>>a; //문자열 입력
받음
cout<<a; //입력했던 문자열 출력
}
이 예의 결과는요,
this is
입력 후 엔터
결과=> this
1. cin.get()
=> <iostream> 에 존재
=> 표준 입력 버퍼에서 문자를 하나만 가져옴
=> 공백, 개행 포함
=> 문자만 입력 받음
=> space 단위로 끊어서 입력 받을 수 있다
get()은 문자만 입력받을 수 있습니다.
예를들면,
#include
<iostream.h>
void main()
{
char
a;
a=cin.get(); //a에 입력한 문자
저장
cout<<a;
}
#include
<iostream.h>
void main()
{
char a,b;
a=cin.get();
b=cin.get();
c=cin.get();
cout<<a<<" "<<b << " " <<
c;
}
이 예의 결과는요,
t입력 후 엔터, k입력후 엔터
<결과>
t
k
즉 t +Enter(new line:개행) + k입니다.
이것이 cin과의 차이점입니다.
앞에서 cin은 엔터가 나오면 입력종료로 간주했지만, get은 엔터도 입력받을 문자로 간주합니다.
따라서 변수a에는 t가, 변수b에는 엔터가 c에는 k가 입력됩니다.
또는
cin.get(a);
cin.get(b);
cin.get(c);
로 하였을 경우 다음과 같이 입력 하면
Q R
a에는 Q가, b에는 빈칸이, c에는 R이 저장됩니다.
1. cin.getline(변수의 주소, 최대 입력가능 문자수, 종결 문자)
=> <iostream> 에 존재
=> 종결 문자를 NULL로 바꿈, 종결 문자 생략시 엔터로 간주
=> 최대 입력 가능 문자수보다 많은 문자를 입려간 경우 n-1개 만큼 받아들이고 n번째 문자는 NULL로 바꾼다.
=> 공백, 개행 입력 받음
=> 문자열만 입력받음
=> cin.getline() 과 getline()는 다른 함수이다.
#include <iostream.h>
void main()
{
char
a[10];
cin.getline(a,10);
cout<<a;
}
이 예의
결과는요,
this is 입력 후 엔터
결과=>this is
이것은 위의 cin의 결과와 차이점
입니다. cin은 공백을 만나면 입력이 끝난 줄 알지만 getline은 공백(아스키코드 32)도 문자로서
받아들입니다.
또 다른 예는요,
#include <iostream.h>
void
main()
{
char
a[10];
cin.getline(a,10,'i');
cout<<a;
}
'컴퓨터 > C++' 카테고리의 다른 글
접근 지정자 const (0) | 2014.04.28 |
---|---|
[Linux] 파일 찾기 명령어 find (0) | 2014.04.14 |
(Visual C++) (C++.NET) ( Managed C++) (C++/CLI) 의 차이점 (0) | 2013.06.07 |
[C++] C++의 형변환 const_cast, static_cast, reinterpret_cast, dynamic_cast (0) | 2013.02.20 |
[정렬][C++] Template를 이용한 Swap 함수 (0) | 2013.01.30 |