| Types and objects | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Defined in header <stdio.h> | ||
int fputc(int ch,FILE* stream); | ||
int putc(int ch,FILE* stream); | ||
Writes a characterch to the given output streamstream.putc() may be implemented as a macro and evaluatestream more than once, so the corresponding argument should never be an expression with side effects.
Internally, the character is converted tounsignedchar just before being written.
Contents |
| ch | - | character to be written |
| stream | - | output stream |
On success, returns the written character.
On failure, returnsEOF and sets theerror indicator (seeferror()) onstream.
Showsputc with error checking
#include <stdio.h>#include <stdlib.h> int main(void){int ret_code=0;for(char c='a';(ret_code!=EOF)&&(c!='z'); c++) ret_code= putc(c,stdout); // Test whether EOF was reached.if(ret_code==EOF&&ferror(stdout)){perror("putc()");fprintf(stderr,"putc() failed in file %s at line # %d\n", __FILE__, __LINE__-7);exit(EXIT_FAILURE);} putc('\n',stdout); returnEXIT_SUCCESS;}
Output:
abcdefghijklmnopqrstuvwxy
| writes a character tostdout (function)[edit] | |
C++ documentation forfputc,putc | |