Namespaces
Variants

fgetwc, getwc

De es.cppreference.net
< c | io
 
 
Entrada/salida de archivos
Tipos y objetos
        
Funciones
Acceso a archivos
(C95)
Entrada/salida sin formato
(C95)(C95)
(C95)
(C95)(C95)
(C95)
(C95)

Entrada formateada
Entrada/salida directa
Salida formateada
Posicionamiento de archivos
Manejo de errores
Operaciones sobre archivos
 
Definido en el encabezado <wchar.h>
wint_t fgetwc( FILE* stream );
(desde C95)
wint_t getwc( FILE* stream );
(desde C95)

Lee el siguiente carácter ancho del flujo de entrada dado. getwc() puede implementarse como una macro y puede evaluar stream más de una vez.

Parámetros

stream - del cual leer el carácter ancho

Valor de retorno

El siguiente carácter ancho del flujo o WEOF en caso de error.

Si el error ha sido causado por la condición de fin de archivo, además establece el indicador eof (véase feof()) en stream. Si el error ha sido causado por algún otro error, establece el indicador error (véase ferror()) en stream.

Si ocurrió un error de codificación, además establece errno a EILSEQ.

Ejemplo

#include <errno.h>
#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>

int main(void)
{
    setlocale(LC_ALL, "en_US.utf8");
    FILE* fp = fopen("fgetwc.dat", "w");
    if(!fp)
    {
        perror("Can't open file for writing");
        return EXIT_FAILURE;
    }
    fputs("кот\n", fp);
    fclose(fp);

    fp = fopen("fgetwc.dat", "r");
    if (!fp)
    {
        perror("Can't open file for reading");
        return EXIT_FAILURE;
    }
    wint_t wc;
    errno = 0;
    while ((wc = fgetwc(fp)) != WEOF)
        putwchar(wc);

    if (ferror(fp))
    {
        if (errno == EILSEQ)
            puts("Character encoding error while reading.");
        else
            puts("I/O error when reading");
    }
    else if (feof(fp))
        puts("End of file reached successfully");

    fclose(fp);
}

Posible salida:

кот

Referencias

  • Estándar C23 (ISO/IEC 9899:2024):
  • 7.29.3.1 La función fgetwc (p: TBD)
  • 7.29.3.6 La función getwc (p: TBD)
  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.29.3.1 La función fgetwc (p: 307-308)
  • 7.29.3.6 La función getwc (p: 309)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.29.3.1 La función fgetwc (p: 421-422)
  • 7.29.3.6 La función getwc (p: 424)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.24.3.1 La función fgetwc (p: 367)
  • 7.24.3.6 La función getwc (p: 369)

Véase también

obtiene un carácter de un flujo de archivo
(función)
(C95)
obtiene una cadena ancha de un flujo de archivo
(función)
escribe un carácter ancho a un flujo de archivo
(función)
devuelve un carácter ancho a un flujo de archivo
(función)