fgets instructions gets skipped.Why?

nunos picture nunos · May 25, 2010 · Viewed 9.5k times · Source

Whenever I do a scanf before a fgets the fgets instruction gets skipped. I have come accross this issue in C++ and I remember I had to had some instrcution that would clear the stdin buffer or something like that. I suppose there's an equivalent for C. What is it?

Thanks.

Answer

aib picture aib · May 25, 2010

I'll bet it's because of the \n stuck in the input stream.

See one of these questions:

I am not able to flush stdin.
How do I go about Flushing STDIN here?
scanf() causing infinite loop

or this answer.

Also: Why not to use scanf().

P.S. fgets() is a function, not an instruction.