[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: