fgetwc, getwc
De es.cppreference.net
| 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
Ejecutar este código
#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) |
(C95) |
escribe un carácter ancho a un flujo de archivo (función) |
(C95) |
devuelve un carácter ancho a un flujo de archivo (función) |
Documentación de C++ para fgetwc
| |