yanghih   6년 전

코드를 짜다가

getline으로 했을때 안되고 cin으로 했을때 되길래 

찾아보았더니

\n이 남아있을 수 있다해서

fflush(stdin)으로 비워줬는데도 안되더라구요..(15, 16줄)

아예 cin으로 써야하는건가요

bupjae   6년 전

C++ 표준에 의하면 fflush(stdin) 의 결과는 정의되어 있지 않습니다. (Undefined Behavior)

Microsoft Visual C++ 에서는 입력 스트림에 fflush 를 사용하면 어떻게 동작하는지 정의해 놓았습니다만, 다른 컴파일러에서는 어떤 결과가 나오는지 며느리도 알 수 없습니다.

bupjae   6년 전

이 문제를 해결하기 위해 두 가지 방법 원하시는 방법을 사용할 수 있습니다.


1) 11번째 줄에 getline을 사용해서 일단 문자열로 입력받은 뒤 문자열->정수 변환 함수를 호출한다.

2) 16번째 줄에 단어 단위 입력을 사용한다. cin >> word

Green55   6년 전

cin.ignore()를 사용하시면 됩니다.

http://en.cppreference.com/w/c...

댓글을 작성하려면 로그인해야 합니다.