getc, getwc
Lesen eines Zeichens aus einem Stream.
int getc(
FILE *stream
);
wint_t getwc(
FILE *stream
);
Parameter
- stream
Eingabestream.
Rückgabewert
Gibt das Lesen von Zeichen zurück.Um ein Lesefehler oder eine Dateiende-Bedingung anzugeben, gibt getcEOFzurück, und getwc gibt WEOFzurück.Für getc, verwenden Sie ferror oder feof , nach einem Fehler oder für Dateiende zu überprüfen.Wenn streamNULList, rufen getc und getwc ungültige Parameter für ein, wie in Parametervalidierungbeschrieben.Wenn die Ausführung fortgesetzt werden kann, darf dieser Funktionen geben EOF (oder WEOF fürgetwc) und Menge errno zu EINVAL.
Weitere Informationen finden Sie unter _doserrno, errno, _sys_errlist und _sys_nerr Weitere Informationen über diese und andere Fehlercodes.
Hinweise
Jede Routine liest ein einzelnes Zeichen aus einer Datei an der aktuellen Position des Zeigers inkrementiert und der zugeordneten Datei (falls definiert), um zum nächsten Zeichen zu veranschaulichen.Die Datei wird mit streamzugeordnet.
Diese Funktionen der aufrufende Thread sperren und können daher threadsicher.Bei einer nicht sperrend - Version finden Sie unter _getc_nolock, _getwc_nolock.
Hinweise Routine-Besondere folgen.
Routine |
Hinweise |
---|---|
getc |
Identisch mit fgetcimplementiert, sondern als Funktion und als Makro. |
getwc |
Breitzeichen-Version von getc.Liest ein Mehrbytezeichen oder ein Breitzeichen, je nachdem ob stream im Textmodus oder im binären Modus geöffnet ist. |
Zuweisung generischer Textroutinen
TCHAR.H-Routine |
_UNICODE & _MBCS nicht definiert |
_MBCS definieren |
_UNICODE definiert |
---|---|---|---|
_gettc |
getc |
getc |
getwc |
Anforderungen
Routine |
Erforderlicher Header |
---|---|
getc |
<stdio.h> |
getwc |
<stdio.h> oder <wchar.h> |
Um Kompatibilität zusätzlichen Informationen 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.
Output
Input was: Line one.