[C/C++]입력 예외 처리(Handling input exceptions)
이 글은 이전에 운영하던 깃 블로그에서 옮겨온 글입니다. 서론 프로그래밍을 하다 보면, 사용자 입력을 받아야 할 때가 생긴다. C와 C++에서는 표준 입력 함수인 scanf() 함수와 C++의 std::cin istream 객체가 있겠다. 이러한 것들을 이용하여 사용자 입력을 받을 때 '잘못된 데이터'를 받는다면? 현상 예를 들어 보겠습니다. int num = -1; printf("정수 입력"); scanf("%d", &num); 위와 같은 코드에서 만약 문자(%c format) 같은 것을 입력한다면? 결론만 말하자면 유감스러운 결과를 보게 될 것입니다. 루프 안에 저 코드가 있다면 끔찍한 무한루프를 겪게 될 것이며, num의 값은 -1로 고정될 것입니다. scanf() 와 std::cin 모두 다음과 ..
2022.04.07