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 la lectura del carácter.Para indicar un error de lectura o una condición final de archivo, getc devuelve EOF, y getwc devuelve WEOF.Para getc, el uso ferror o feof de buscar un error o la existencia 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 al respecto, y otro, 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 está asociado a stream.
Estas funciones bloquean el subproceso de la llamada y son por consiguiente seguro para subprocesos.Para una versión de modificación limitada de interpretación, vea _getc_nolock, _getwc_nolock.
las notas Rutina-específicas siguen.
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 la rutina de texto genérico
rutina de TCHAR.H |
_UNICODE y _MBCS no definido |
_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.
Output
Input was: Line one.