fgetwc, getwc
Depuis fr.cppreference.net
| Défini dans l'en-tête <wchar.h>
|
||
wint_t fgetwc( FILE* stream );
|
(depuis C95) | |
wint_t getwc( FILE* stream );
|
(depuis C95) | |
Lit le prochain caractère large depuis le flux d'entrée donné. getwc() peut être implémenté comme une macro et peut évaluer stream plus d'une fois.
Paramètres
| flux | - | depuis lequel lire le caractère large |
Valeur de retour
Le prochain caractère large du flux ou WEOF en cas d'échec.
Si l'échec est dû à une condition de fin de fichier, définit en plus l'indicateur eof (voir feof()) sur stream. Si l'échec est dû à une autre erreur, définit l'indicateur error (voir ferror()) sur stream.
Si une erreur de codage s'est produite, définit en plus errno à EILSEQ.
Exemple
Exécuter ce code
#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);
}
Sortie possible :
кот
Références
- Norme C23 (ISO/IEC 9899:2024) :
- 7.29.3.1 La fonction fgetwc (p : TBD)
- 7.29.3.6 La fonction getwc (p : TBD)
- Norme C17 (ISO/IEC 9899:2018) :
- 7.29.3.1 La fonction fgetwc (p : 307-308)
- 7.29.3.6 La fonction getwc (p : 309)
- Norme C11 (ISO/IEC 9899:2011) :
- 7.29.3.1 La fonction fgetwc (p : 421-422)
- 7.29.3.6 La fonction getwc (p : 424)
- Norme C99 (ISO/IEC 9899:1999) :
- 7.24.3.1 La fonction fgetwc (p : 367)
- 7.24.3.6 La fonction getwc (p : 369)
Voir aussi
| obtient un caractère depuis un flux de fichier (fonction) | |
(C95) |
obtient une chaîne large depuis un flux de fichier (fonction) |
(C95) |
écrit un caractère large dans un flux de fichier (fonction) |
(C95) |
remet un caractère large dans un flux de fichier (fonction) |
Documentation C++ pour fgetwc
| |