Namespaces
Variants
Views
Actions

fputc, putc

From cppreference.com
< c‎ | io

Defined in header <stdio.h>
int fputc( int ch, FILE *stream );
int putc( int ch, FILE *stream );

Writes a character ch to the given output stream stream. putc() may be implemented as a macro and evaluation stream more than once, so the corresponding argument should never be an expression with side effects.

Internally, the character is converted to unsigned char just before being written.

Contents

[edit] Parameters

ch - character to be written

[edit] Return value

On success, returns the written character.

On failure, returns EOF and sets the error indicator (see ferror()) on stream.

[edit] Example

putc 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)
       if (ferror(stdout)) 
       {
          perror("putc()");
          fprintf(stderr,"putc() failed in file %s at line # %d\n", __FILE__,__LINE__-7);
          exit(EXIT_FAILURE);
       }
    putc('\n', stdout);
 
    return EXIT_SUCCESS;
}

Output:

abcdefghijklmnopqrstuvwxy

[edit] See also

writes a character to stdout
(function) [edit]
C++ documentation for fputc, putc