cin
string s;
cin >> s;
cout << s
입력값
s dw 234
출력값
s
- 빈칸 문자나 개행문자, 탭 문자를 무시하고 문자를 읽어들인다.
cin.get()
char ch[5];
cin.get(ch, 5);
cout << ch;
입력값
2 3 dws
출력값
2 3
- 문자들을 다 읽어들인다.
- 입력 큐에 개행 문자를 남겨둔다.
- 나머지 문자들을 입력 큐에 남겨둠.
char ch[10];
char ch2[10];
cin.get(ch, 10);
cin.get(ch2, 10);
cout << ch << "\n";
cout << ch2;
입력값
sdsdad wwwd 2222ddd
출력값
sdsdad ww
wd 2222dd
char ch[10];
char ch2[10];
cin.get(ch, 10);
cin.get();
cin.get(ch2, 10);
cout << ch << "\n";
cout << ch2;
- 개행문자 해결방법 cin.get()을 다음 입력 전에 한번 더 사용하여 개행 문자를 날려준다.
cin.getline()
char ch[10];
cin.getline(ch, 10);
cout << ch << "\n"
- 개행문자를 폐기한다.
- 문자열을 배열에 저장할 때 개행 문자는 널문자로 대체됨.
- getline()과 get()은 나머지 문자들을 입력 큐에 남겨둠.
- 부가적으로 getline()은 failbit을 설정하고 더 이상의 입력을 받지 않음
cin.getline(ch, 10);
if(ch[0] != '\0')
cin.getline(ch, 10);
- 빈 줄을 입력하게 되면 getline()은 failbit를 설정하지 않는다.
- 개행문자를 저장은 하지 않지만 추출은 하기 때문이다.
'C++ > Basic' 카테고리의 다른 글
[C++] 람다 (0) | 2021.08.24 |
---|---|
[C++] fstream으로 입력 출력 (0) | 2021.08.19 |
[C++] cin의 false/true (0) | 2021.08.13 |
[C++] 출력 함수 (0) | 2021.08.12 |
[C++] stl set (0) | 2021.08.09 |