Export (0) Print
Expand All
Expand Minimize
0 out of 1 rated this helpful - Rate this topic

putc, putwc, putchar, putwchar

Write a character to a stream (putc, putwc) or to stdout (putchar, putwchar).

int putc(
   int c,
   FILE *stream 
);
wint_t putwc(
   wchar_t c,
   FILE *stream 
);
int putchar(
   int c 
);
wint_t putwchar(
   wchar_t c 
);

Parameters

c
Character to be written.
stream
Pointer to FILE structure.

Return Value

Returns the character written. To indicate an error or end-of-file condition, putc and putchar return EOF; putwc and putwchar return WEOF. For all four routines, use ferror or feof to check for an error or end of file.

Remarks

The putc routine writes the single character c to the output stream at the current position. Any integer can be passed to putc, but only the lower 8 bits are written. The putchar routine is identical to putc( c, stdout ). For each routine, if a read error occurs, the error indicator for the stream is set. putc and putchar are similar to fputc and _fputchar, respectively, but are implemented both as functions and as macros (see Choosing Between Functions and Macros). putwc and putwchar are wide-character versions of putc and putchar, respectively.

Generic-Text Routine Mappings

TCHAR.H routine _UNICODE & _MBCS not defined _MBCS defined _UNICODE defined
_puttc putc putc putwc
_puttchar putchar putchar putwchar

Requirements

Routine Required header Compatibility
putc <stdio.h> ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP
putwc <stdio.h> or <wchar.h> ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP
putchar <stdio.h> ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP
putwchar <stdio.h> or <wchar.h> ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.

Libraries

All versions of the C run-time libraries.

Example

// crt_putc.c
/* This program uses putc to write buffer
 * to a stream. If an error occurs, the program
 * stops before writing the entire buffer.
 */

#include <stdio.h>

int main( void )
{
   FILE *stream;
   char *p, buffer[] = "This is the line of output\n";
   int  ch;

   ch = 0;
   /* Make standard out the stream and write to it. */
   stream = stdout;
   for( p = buffer; (ch != EOF) && (*p != '\0'); p++ )
      ch = putc( *p, stream );
}

Output

This is the line of output

See Also

Stream I/O Routines | fputc | getc | Run-Time Routines and .NET Framework Equivalents

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.