Re: Help me stay away from visual C++ :)
On Mon, 26 Jul 1999, Moses Leslie wrote:
> On 27-Jul-99 Jason Gunthorpe wrote:
> >
> > fflush doesn't do anything (or at least isn't supposed to) for input
> > streams, fflush is ment to flush pending output, not discard pending
> > input. So what is happening is that glibc ignores the fflush and
> > continually rescans that invalid character in a loop.
If you check the return value for fflush on stdin, it _should_ be EBADF
(according to the manpage).
Why am i not surprised the micros~1 C is borken?
> Ok, thanks for the quick response. Do you happen to know if there's a similar
> way to find out if scanf got a valid input?
IIUC, that's what the return value is for. If scanf returns 0, it couldn't
match anything. If you pass it 4 variables and it returns 2, then there
wasn't a match for the last two in the pattern. If scanf returns EOF, then
there was an input failure. man scanf for more info (with the manpages-dev
package installed, of course).
And finally, one piece of advice not directly related to your problem:
learn to use gdb, it can be _extremely_ helpful.
Reply to: