가능한 중복 :
Using fflush(stdin)fflush (stdin)이 작동하지 않는 이유는 무엇입니까?
내 코드는 다음과 같습니다
scanf("%d", &_choice);
fflush(stdin);
gets(input);
내가 scanf
후 왼쪽 된 '\n'
문자를 제거하는 fflush(stdin);
를 사용합니다.
그러나 나는 작동하지 않으며, gets
은 자동으로 '\n'
char을 사용하고 계속됩니다.
fflush
의
getchar()
를 사용하여 그것을 해결하지만
fflush
작업 ...
편집하지 않았다 난 아직도 왜 알아낼 수 없습니다 : 지금 이해 fflush
출력 스트림만을위한 것입니다. 그러나 "청소"명령이 있습니까? stdin
은 쓰레기입니까?
그것은 정의되지 않은 동작입니다 ... "
\n
문자를 제거"아닙니다. 기간. – Mysticial또한 gets()를 사용하고 있습니다. 하지마. 대신 fgets()를 사용하십시오. – milleniumbug
@milleniumbug 나는 마지막'\ n '문자를 제거하고 싶지 않다. – cookya