getc, getwc
Lee un carácter de una secuencia.
int getc(
FILE *stream
);
wint_t getwc(
FILE *stream
);
Parámetros
- stream
Flujo de entrada.
Valor devuelto
Devuelve el carácter leído. Para indicar un error de lectura o una condición final de archivo, getc vuelve EOF, y getwc vuelve WEOF. En el caso de getc, use ferror o feof para comprobar si hay un error o una condición de fin de archivo. Si stream es NULL, getc y getwc se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros. Si la ejecución puede continuar, estas funciones EOF return (o WEOF paragetwc) y errno determinado a EINVAL.
Vea _doserrno, errno, _sys_errlist y _sys_nerr para obtener más información sobre estos y otros códigos de error.
Comentarios
Cada rutina lee un carácter individual de un archivo en la posición actual y aumenta el puntero de archivo asociado (si se define) para señalar al carácter siguiente. El archivo se asocia a stream.
Estas funciones bloquean el subproceso de llamada y son, por consiguiente, seguras para subprocesos. Para consultar una versión que no realiza el bloqueo, vea _getc_nolock, _getwc_nolock.
Comentarios específicos de la rutina.
Rutina |
Comentarios |
---|---|
getc |
Igual que fgetc, pero implementado como función como macro. |
getwc |
Versión de caracteres anchos de getc. Lee un carácter multibyte o un carácter ancho como si stream está abierta en modo de texto o modo binario. |
Asignaciones de rutina de texto genérico
Rutina TCHAR.H |
_UNICODE y _MBCS no definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_gettc |
getc |
getc |
getwc |
Requisitos
Rutina |
Encabezado necesario |
---|---|
getc |
<stdio.h> |
getwc |
<stdio.h> o <wchar.h> |
Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.
Ejemplo
// crt_getc.c
// Use getc to read a line from a file.
#include <stdio.h>
int main()
{
char buffer[81];
int i, ch;
FILE* fp;
// Read a single line from the file "crt_getc.txt".
fopen_s(&fp, "crt_getc.txt", "r");
if (!fp)
{
printf("Failed to open file crt_getc.txt.\n");
exit(1);
}
for (i = 0; (i < 80) && ((ch = getc(fp)) != EOF)
&& (ch != '\n'); i++)
{
buffer[i] = (char) ch;
}
// Terminate string with a null character
buffer[i] = '\0';
printf( "Input was: %s\n", buffer);
fclose(fp);
}
Entrada: crt_getc.txt
Line one.
Line two.
Resultados
Input was: Line one.