|
권기식 님이 쓰신 글 :
: 안녕하세요?
: C에서는 쉽게 해결했는데... C++에서는 상당히 어렵네요..
: 물론, 좀더 찾아보면 있겠지만... 너무 기본적인거라서 그런지.. 찾기가 어렵네요..
: 다른게 아니고..
: cin으로 숫자를 입력받을 때, 입력범위를 넘는 숫자를 입력하면 프로그램에 에러가 납니다.
: 예를 들어 int형 변수가 담을 수 있는 숫자보다 큰 수를 입력할 때 말이죠..
: 이런걸 체크하려면 어떻게 해야 하나요?
:
: 도와주세요~~~ ^^;
cin.operator>>의 리턴 값을 조사하여 0이면 에러가 났거나 입력의 끝(Ctrl+Z)이라는 뜻입니다.
예를 들어
int input, sum = 0;
while(cin >> input)
sum += input;
또는 cin.fail()를 호출하여 true를 리턴하면 에러가 났다는 뜻입니다.
하여튼 C++의 입출력 스트림에 대해서는 열심히 공부해보세요.
C의 입출력 스트림에서 지원하는 모든 기능을 다 쓸 수 있을 뿐만 아니라,
훨씬 강력합니다. (다만, 타이핑 량이 좀 많죠.)
printf(), scanf() 같은 허접한 함수는 머릿속에서 지워버리시길... ^^;
그리고 이런 종류의 질문은 이곳보다는
[Turbo-C / Borland C++] - [Q / A]에 해주세요.
|