-
cin과 >> 연산자로 문자열을 입력 받을 때의 허점명품 c++ 공부 2020. 8. 24. 15:07
>> 연산자를 이용하여 문자열을 입력받는 방법은 쉽고 간단한 반면, 유의해야할 점이 있다.
그것은 바로 공백문자를 만나면 그 뒤의 문자는 인식하지않고 공백 전의 문자들만 인식하는것이다.
예)
#include<iostream> using namespace std; int main() { char arr[10]; cout << "입력:"; cin >> arr; cout << arr; }
결과
결과를 보면 공백 다음 233문자는 인식되지 않은걸 볼 수가있다...
즉 1234 문자를 읽은 후 빈칸은 만나 문자열 입력이 종료된것으로 판단하기 때문이다.
이를 해결하기위해서 사용하는 함수가 있다.
getline()함수
cin.getline(char buf[],int size,char delimitChar)
buf:키보드로 부터 읽은 문자열을 저장할 배열
size:buf의 배열크기
delimitChar:문자열 입력 끝을 지정하는 구분문자
예)
#include<iostream> using namespace std; int main() { char arr2[10]; cout << "입력"; cin.getline(arr2,10, '\n'); cout << arr2; }
결과
결과를 보면 공백 뒷 문자도 인식이 되었다는것을 알 수 있음.
'명품 c++ 공부' 카테고리의 다른 글
실습예제2-16(난이도8) (0) 2020.08.25 실습 예제 (0) 2020.08.24 #include 와 전처리기 (0) 2020.08.24 String 으로 문자열 입력받기 (0) 2020.08.24 예제2-5 (0) 2020.08.24