반응형
문자열 입력을 받기 위해서,
cin과 get line을 동시 사용하는 경우에
cin을 위에다가 쓰고 getline을 밑에다가 썼을 때에 cin에서 받은 버퍼의 '\n'가 버퍼에서 남아 있다가,
getline 함수에서 읽어 들여 버려서 getline 함수가 실행되자마자 개행 문자로 인해서 입력을 받지 못하는 문제가 발생하였다.
이런 경우
cin 함수 밑 부분에서
cin.ignore() 함수를 사용해주면 된다.
인자값의 정보에 대한 숙지가 이 문제를 해결하는 데에는 크게 의미가 있진 않으므로
std::istream::ignore <<<< 링크만 걸어놓고 자세한 인자값에 대한 이해가 필요할 떄 참고할 것을 권한다.
반응형
'DEV > C++' 카테고리의 다른 글
[STL] cout에서 실수형 데이터의 지수표현법 막기 (0) | 2015.03.13 |
---|---|
[Keyword] explicit, 암시적 형변환 피하기 (0) | 2015.02.21 |
[OOP] c++ 에서의 상속에 관한 키워드 (0) | 2015.02.18 |
[OOP] Struct와 Class의 차이 (0) | 2015.01.31 |
[STL] set iterator의 const issue (0) | 2015.01.28 |