fgetc, getc
|
Definido en el encabezado
<stdio.h>
|
||
|
int
fgetc
(
FILE
*
stream
)
;
|
(1) | |
|
int
getc
(
FILE
*
stream
)
;
|
(2) | |
fgetc
, excepto que si
getc
está implementado como una macro, puede evaluar stream más de una vez, por lo que el argumento correspondiente nunca debe ser una expresión con efectos secundarios.
Contenidos |
Parámetros
| stream | - | para leer el carácter desde |
Valor de retorno
En caso de éxito, devuelve el carácter obtenido como un unsigned char convertido a un int . En caso de fallo, devuelve EOF .
Si el fallo ha sido causado por una condición de fin de archivo, establece adicionalmente el eof indicador (ver feof() ) en stream . Si el fallo ha sido causado por algún otro error, establece el error indicador (ver ferror() ) en stream .
Ejemplo
#include <stdio.h> #include <stdlib.h> int main(void) { const char* fname = "/tmp/unique_name.txt"; // or tmpnam(NULL); int is_ok = EXIT_FAILURE; FILE* fp = fopen(fname, "w+"); if (!fp) { perror("File opening failed"); return is_ok; } fputs("Hello, world!\n", fp); rewind(fp); int c; // note: int, not char, required to handle EOF while ((c = fgetc(fp)) != EOF) // standard C I/O file reading loop putchar(c); if (ferror(fp)) puts("I/O error when reading"); else if (feof(fp)) { puts("End of file is reached successfully"); is_ok = EXIT_SUCCESS; } fclose(fp); remove(fname); return is_ok; }
Salida posible:
Hello, world! End of file is reached successfully
Referencias
- Estándar C23 (ISO/IEC 9899:2024):
-
- 7.21.7.1 La función fgetc (p: TBD)
-
- 7.21.7.5 La función getc (p: TBD)
- Estándar C17 (ISO/IEC 9899:2018):
-
- 7.21.7.1 La función fgetc (p: 240-241)
-
- 7.21.7.5 La función getc (p: 242)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.21.7.1 La función fgetc (p: 330)
-
- 7.21.7.5 La función getc (p: 332)
- Estándar C99 (ISO/IEC 9899:1999):
-
- 7.19.7.1 La función fgetc (p: 296)
-
- 7.19.7.5 La función getc (p: 297-298)
- Estándar C89/C90 (ISO/IEC 9899:1990):
-
- 4.9.7.1 La función fgetc
-
- 4.9.7.5 La función getc
Véase también
|
lee un carácter desde
stdin
(función) |
|
|
(eliminado en C11)
(C11)
|
lee una cadena de caracteres desde
stdin
(función) |
|
escribe un carácter a un flujo de archivo
(función) |
|
|
devuelve un carácter a un flujo de archivo
(función) |
|
|
Documentación de C++
para
fgetc
,
getc
|
|