Freigeben über


getc, getwc

Lesen Sie ein Zeichen von einem Stream.

int getc( 
   FILE *stream 
);
wint_t getwc( 
   FILE *stream 
);

Parameter

  • stream
    Eingabestream.

Rückgabewert

Gibt das gelesene Zeichen zurück. So einem Lesefehler oder eine Dateiende-Bedingung, getc gibt EOF und getwc gibt WEOF angeben. Verwenden Sie für getcferror oder feof zur Fehler- oder Dateiendeüberprüfung. Wenn streamNULL ist, rufen getc und getwc den ungültigen Parameterhandler auf, wie in Parametervalidierung beschrieben. Wenn die Ausführung zulässig ist, um fortzufahren, diese Funktionen Rückhol- EOF (oder WEOF für getwc) und errno auf EINVAL festlegen.

Weitere Informationen zu diesen und anderen Fehlercodes finden Sie unter _doserrno, errno, _sys_errlist und _sys_nerr.

Hinweise

Jede Routine liest ein einzelnes Zeichen aus einer Datei an der aktuellen Position und erhöht den Zeiger der zugeordneten Datei (wenn Sie definiert werden), um auf dem nächsten Zeichen zu veranschaulichen. Die Datei wird stream zugeordnet.

Diese Funktionen sperren den aufrufenden Thread und sind daher threadsicher. Eine nicht sperrende Version finden Sie unter _getc_nolock, _getwc_nolock.

Es folgen routinespezifische Hinweise.

Routine

Hinweise

getc

Identisch mit fgetc, implementiert jedoch als Funktion und als Makro.

getwc

Breitzeichenversion von getc. Liest ein Mehrbytezeichen oder ein Breitzeichen, ob stream im Textmodus oder im Binärdateimodus geöffnet ist.

Zuordnung generischer Textroutinen

TCHAR.H-Routine

_UNICODE & _MBCS nicht definiert

_MBCS definiert

_UNICODE definiert

_gettc

getc

getc

getwc

Anforderungen

Routine

Erforderlicher Header

getc

<stdio.h>

getwc

<stdio.h> oder <wchar.h>

Zusätzliche Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.

Beispiel

// 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);
}

Eingabe: crt_getc.txt

Line one.
Line two.

Ausgabe

Input was: Line one.

.NET Framework-Entsprechung

Siehe auch

Referenz

Stream-E/A

fgetc, fgetwc

_getch, _getwch

putc, putwc

ungetc, ungetwc