fgets() returns NULL at EOF??
karl at haddock
karl at haddock
Thu Sep 4 03:32:00 AEST 1986
sun!guy (Guy Harris) writes:
>Now, you can ask "why does 'fgets' return a value of type 'char *'?" at
>this point. It returns a pointer to the buffer that it just filled in;
>obviously *somebody* found this useful, although I don't find it so.
Me neither. It sounds like a "why not?" situation.
>If "fgets" didn't return that pointer, it could have been defined as
>returning a value of type "int" instead, and that value would have been 0 on
>success and EOF on failure.
Better yet, return the number of characters read (so 0 on failure).
>It's too late to change it, though.
Not without changing the name again. (That's how fgets() evolved from
gets(), though the latter still exists.)
Karl W. Z. Heuer (ima!haddock!karl; karl at haddock.isc.com), The Walking Lint
More information about the Comp.lang.c
mailing list