Format
#include <stdio.h> int putc(int c, FILE *stream); int putchar(int c);
Language Level: ANSI, POSIX, XPG4
putc converts c to unsigned char and then writes c
to the output stream at the current position. putchar
is equivalent to putc(c, stdout).
putc is equivalent to fputc except that, if it is implemented as a macro, putc can evaluate stream more than once. Therefore, the stream argument to putc should not be an expression with side effects.
Return Value
putc and putchar return the character written. A return
value of EOF indicates an error.
Example
This example writes the contents of a buffer to a data
stream. In this example, the body of the for statement is null
because the example carries out the writing operation in the test
expression.
#include <stdio.h> #include <string.h>
#define LENGTH 80
int main(void)
{
FILE *stream = stdout;
int i, ch;
char buffer[LENGTH + 1] = "Hello world";
/* This could be replaced by using the fwrite routine */
for ( i = 0;
(i < strlen(buffer)) && ((ch = putc(buffer[i], stream)) != EOF);
++i);
return 0;
/********************************************************************
The output should be:
Hello world ********************************************************************/ }
![]()
fputc -- Write Character
_fputchar -- Write Character
fwrite -- Write Items
getc - getchar -- Read a Character
![]()
_putch -- Write Character to Screen
puts -- Write a String
![]()
write -- Write from Buffer to File
<stdio.h>