본문 바로가기

Application-level프로그래밍

(C++) 문자열입력 관련 알아두기.

 
//...
string a,b,c,d,e;
cin >> a; 
/*문자열 중간의 공백이 있다면 입력받는 것을 멈춘다. 공백은 버퍼에 남아있다.*/
cin >> b; 
/*참고: 입력버퍼에 남겨진 whitespace는 모두 건너뛰고 읽기 시작한다.*/
getline(cin,c); 
/*바로 앞 명령으로 적어도 개행문자가 남아있다. getline은 whitespace을 만나면 입력받는 것을 멈춘다.
whitespace는 문자열 c에 저장시키지 않지만, 버퍼에 남기지도 않는다. 여기서 c는 빈 문자열이 된다.*/
cin >> d;
cin.ignore(1000,'\n'); /*'\n'을 만날 때까지, '\n'을 포함하여 최대 1000개의 문자를 입력버퍼에서 꺼내어 버린다.(discard)*/
getline(cin,e); /*문제 없음*/
//...