정수형 cin을 입력 시, 숫자가 입력 버퍼에 저장되지 않고 바로 변수에 저장이 된다
하지만 문자열을 cin으로 입력 시, 입력 버퍼에 저장한 문자를 읽어서 변수로 저장한다
정수형 변수에 입력중에 문자열 변수가 입력이 되면 문자는 입력버퍼에 저장되고
cin은 이 버퍼의 문자를 정수형 변수에 저장하려고 하므로 정상 저장이 되지않고 에러가 나는 것이다
문자열 입력 시에도 \n 이 입력 버퍼에 남아서 문제가 되곤하니
이전 cin 사용 후 cin 이나 getline 등으로 새로운 자료형의 입력을 받을 때에는 항상
cin.ignore() 를 사용해서 입력버퍼를 비워주고 사용하자
'C++ > 한 줄 정리' 카테고리의 다른 글
벡터에서 음수 인덱스도 접근은 가능하다 (0) | 2022.06.22 |
---|---|
벡터도 넣은 요소는 인덱스로 접근이 가능하다 (0) | 2022.06.22 |
hash 해시 사용 시 key값이 없을 때 호출하면 key 추가 후 value는 0이다 (0) | 2022.06.21 |
a 에 b가 확인 혹은 찾는 문제는 - 해시 hash - 문제 (0) | 2022.06.21 |
i로 도는 for문 사용시, i를 for문 밖에 선언, 초기화 할 수 있다 (0) | 2022.06.19 |
댓글