putc
, putwc
Escribe un carácter en un flujo.
Sintaxis
int putc(
int c,
FILE *stream
);
wint_t putwc(
wchar_t c,
FILE *stream
);
Parámetros
c
Carácter que se va a escribir.
stream
Puntero a la estructura FILE
.
Valor devuelto
Devuelve el carácter escrito. Para indicar un error o una condición de fin de archivo, putc
y putchar
devolver EOF
; putwc
y putwchar
devolver WEOF
. Para las cuatro rutinas, use ferror
o feof
para comprobar si hay un error o un final del archivo. Si se pasa un puntero nulo para stream
, se invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, estas funciones devuelven EOF
o WEOF
y se establecen en EINVAL
errno
.
Para obtener más información sobre los códigos de retorno, vea errno
, _doserrno
, _sys_errlist
y _sys_nerr
.
Comentarios
La rutina putc
escribe el carácter individual c
en la salida stream
en la posición actual. Se puede pasar cualquier entero a putc
, pero solo se escriben los 8 bits inferiores. La putchar
rutina es idéntica a putc( c, stdout )
. Para cada rutina, si se produce un error de lectura, se establece el indicador de error para el flujo. putc
y putchar
son similares a fputc
y _fputchar
, respectivamente, pero se implementan como funciones y como macros (vea Recomendaciones para elegir entre funciones y macros). putwc
y putwchar
son versiones con caracteres anchos de putc
y putchar
, respectivamente. putwc
y putc
se comportan exactamente igual si el flujo se abre en modo ANSI. putc
no admite actualmente la salida en un flujo UNICODE.
Las versiones con el sufijo _nolock
son idénticas, salvo que no están protegidas contra interferencias de otros subprocesos. Para obtener más información, vea _putc_nolock, _putwc_nolock.
De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.
Asignaciones de rutinas de texto genérico
Rutina TCHAR.H | _UNICODE y _MBCS no definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_puttc |
putc |
putc |
putwc |
Requisitos
Routine | Encabezado necesario |
---|---|
putc |
<stdio.h> |
putwc |
<stdio.h> o <wchar.h> |
La consola no se admite en las aplicaciones de la Plataforma universal de Windows (UWP). Los identificadores de flujo estándar asociados a la consola, stdin
, stdout
y stderr
, se deben redirigir antes de que las funciones en tiempo de ejecución de C puedan usarlos en aplicaciones para UWP. Para obtener más información sobre compatibilidad, consulte Compatibilidad.
Bibliotecas
Todas las versiones de las bibliotecas en tiempo de ejecución de C.
Ejemplo
// 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