We recommend using Visual Studio 2017

_fputchar, _fputwchar

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at _fputchar, _fputwchar.

Writes a character to stdout.

int _fputchar(  
   int c   
);  
wint_t _fputwchar(  
   wchar_t c   
);  

Parameters

c
Character to be written.

Each of these functions returns the character written. For _fputchar, a return value of EOF indicates an error. For _fputwchar, a return value of WEOF indicates an error. If c is NULL, these functions generate an invalid parameter exception, as described in Parameter Validation. If execution is allowed to continue, they return EOF(orWEOF) and set errno to EINVAL.

For more information about these and other error codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.

Both of these functions writes the single character c to stdout and advances the indicator as appropriate. _fputchar is equivalent to fputc(``stdout ). It is also equivalent to putchar, but implemented only as a function, rather than as a function and a macro. Unlike fputc and putchar, these functions are not compatible with the ANSI standard.

Generic-Text Routine Mappings

Tchar.h routine_UNICODE and _MBCS not defined_MBCS defined_UNICODE defined
_fputtchar_fputchar_fputchar_fputwchar
FunctionRequired header
_fputchar<stdio.h>
_fputwchar<stdio.h> or <wchar.h>

The console is not supported in Windows 8.x Store apps. The standard stream handles that are associated with the console—stdin, stdout, and stderr—must be redirected before C run-time functions can use them in Windows 8.x Store apps. For more compatibility information, see Compatibility.

// crt_fputchar.c  
// This program uses _fputchar  
// to send a character array to stdout.  
  
#include <stdio.h>  
  
int main( void )  
{  
    char strptr[] = "This is a test of _fputchar!!\n";  
    char *p = NULL;  
  
    // Print line to stream using _fputchar.   
    p = strptr;  
    while( (*p != '\0') && _fputchar( *(p++) ) != EOF )  
      ;  
}  

This is a test of _fputchar!!  

Stream I/O
fgetc, fgetwc
putc, putwc

Show: