getc, getwc
Lisez un caractère d'un flux de données.
int getc(
FILE *stream
);
wint_t getwc(
FILE *stream
);
Paramètres
- stream
flux d'entrée.
Valeur de retour
Retourne la lecture de caractère.Pour indiquer une erreur de lecture ou une condition fin de fichier, retourne EOFd' getc , et retourne WEOFd' getwc .Pour getc, utilisez ferror ou feof de vérifier pour une erreur ou de fin de fichier.si stream est NULL, getc et getwc appellent le gestionnaire de paramètre non valide, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, ces fonctions EOF de retour (ou WEOF pourgetwc) et errno défini à EINVAL.
Consultez _doserrno, errno, _sys_errlist, et _sys_nerr pour plus d'informations sur ce point, ainsi que d'autres, les codes d'erreur.
Notes
Chaque routine lit un caractère unique à partir d'un fichier à la position actuelle et incrémente le pointeur de fichier associé (s'il est défini) pour indiquer le caractère suivant.Le fichier est associé à stream.
ces fonctions verrouillent le thread appelant et sont donc thread-safe.Pour une version non verrouillante, consultez _getc_nolock, _getwc_nolock.
les notes en Routine-détail suivent.
routine |
Remarques |
---|---|
getc |
De la même manière qu' fgetc, mais implémenté en tant que fonction et en tant que macro. |
getwc |
Version à caractère élargi d' getc.Lit un caractère multioctets ou un caractère élargi selon qu' stream est ouvert en mode texte ou le mode binaire. |
mappages de routines de texte générique
routine de TCHAR.H |
_MBCS & de _UNICODE non défini |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_gettc |
getc |
getc |
getwc |
Configuration requise
routine |
en-tête requis |
---|---|
getc |
<stdio.h> |
getwc |
<stdio.h> ou <wchar.h> |
Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.
Exemple
// crt_getc.c
// Use getc to read a line from a file.
#include <stdio.h>
int main()
{
char buffer[81];
int i, ch;
FILE* fp;
// Read a single line from the file "crt_getc.txt".
fopen_s(&fp, "crt_getc.txt", "r");
if (!fp)
{
printf("Failed to open file crt_getc.txt.\n");
exit(1);
}
for (i = 0; (i < 80) && ((ch = getc(fp)) != EOF)
&& (ch != '\n'); i++)
{
buffer[i] = (char) ch;
}
// Terminate string with a null character
buffer[i] = '\0';
printf( "Input was: %s\n", buffer);
fclose(fp);
}
entrée : crt_getc.txt
Line one.
Line two.
Sortie
Input was: Line one.