.TH GETC 3S .SH NAME getc, getchar, fgetc, getw \- get character or word from stream .SH SYNOPSIS .B #include .PP .B int getc(stream) .br .SM .B FILE .B *stream; .PP .B int getchar() .PP .B int fgetc(stream) .br .SM .B FILE .B *stream; .PP .B int getw(stream) .br .SM .B FILE .B *stream; .SH DESCRIPTION .I Getc returns the next character from the named input .IR stream . .PP .I Getchar() is identical to .IR getc(stdin) . .PP .I Fgetc behaves like .I getc, but is a genuine function, not a macro; it may be used to save object text. .PP .I Getw returns the next word from the named input .IR stream . It returns the constant .SM .B EOF upon end of file or error, but since that is a good integer value, .I feof and .IR ferror (3S) should be used to check the success of .IR getw . .I Getw assumes no special alignment in the file. .SH "SEE ALSO" fopen(3S), fread(3S), gets(3S), putc(3S), scanf(3S), ungetc(3S) .SH DIAGNOSTICS These functions return the integer constant .SM .B EOF at end of file or upon read error. .SH BUGS The end-of-file return from .I getchar is incompatible with that in UNIX editions 1-6. .PP Because it is implemented as a macro, .I getc treats a .I stream argument with side effects incorrectly. In particular, `getc(*f++);' doesn't work sensibly.