Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Lea un carácter de una secuencia.
Sintaxis
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 de final de archivo, getc devuelve EOF y getwc devuelve 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 e getwc 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 para getwc) y se establecen en errno EINVAL.
Para obtener más información sobre los códigos de retorno, vea errno, _doserrno, _sys_errlist y _sys_nerr.
Comentarios
Cada rutina lee un solo carácter de un archivo en la posición actual y aumenta el puntero de archivo asociado (si se ha definido) para que apunte al carácter siguiente. El archivo está asociado a stream.
Estas funciones bloquean el subproceso de llamada y son, por consiguiente, seguras para subprocesos. Para consultar una versión que no sea de bloqueo, vea _getc_nolock, _getwc_nolock.
Comentarios específicos de la rutina.
| Routine | Comentarios |
|---|---|
getc |
Igual que fgetc, pero implementada como función y como macro. |
getwc |
Versión de caracteres anchos de getc. Lee un carácter multibyte o carácter ancho en función de que stream se haya abierto en modo de texto o modo binario. |
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 |
|---|---|---|---|
_gettc |
getc |
getc |
getwc |
Requisitos
| Routine | Encabezado necesario |
|---|---|
getc |
<stdio.h> |
getwc |
<stdio.h> o <wchar.h> |
Para obtener más información sobre compatibilidad, consulte Compatibilidad.
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.
Output
Input was: Line one.
Consulte también
E/S de secuencia
fgetc, fgetwc
_getch, _getwch
putc, putwc
ungetc, ungetwc