Namespaces
Variants

std:: fgetc, std:: getc

From cppreference.net
< cpp ‎ | io ‎ | c
Definido en el encabezado <cstdio>
int fgetc ( std:: FILE * stream ) ;
int getc ( std:: FILE * stream ) ;

Lee el siguiente carácter del flujo de entrada dado.

Contenidos

Parámetros

stream - para leer el carácter desde

Valor de retorno

El carácter obtenido en caso de éxito o EOF en caso de fallo.

Si el fallo ha sido causado por una condición de fin de archivo, establece adicionalmente el indicador eof (ver std::feof() ) en stream . Si el fallo ha sido causado por algún otro error, establece el indicador de error (ver std::ferror() ) en stream .

Ejemplo

#include <cstdio>
#include <cstdlib>
int main()
{
    int is_ok = EXIT_FAILURE;
    FILE* fp = std::fopen("/tmp/test.txt", "w+");
    if (!fp)
    {
        std::perror("File opening failed");
        return is_ok;
    }
    int c; // Nota: int, no char, necesario para manejar EOF
    while ((c = std::fgetc(fp)) != EOF) // Bucle estándar de lectura de archivos E/S de C
        std::putchar(c);
    if (std::ferror(fp))
        std::puts("I/O error when reading");
    else if (std::feof(fp))
    {
        std::puts("End of file reached successfully");
        is_ok = EXIT_SUCCESS;
    }
    std::fclose(fp);
    return is_ok;
}

Salida:

End of file reached successfully

Véase también

(obsoleto en C++11) (eliminado en C++14)
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 C para fgetc , getc