getc
, getwc
Akıştan bir karakter okuma.
Sözdizimi
int getc(
FILE *stream
);
wint_t getwc(
FILE *stream
);
Parametreler
stream
Giriş akışı.
Dönüş değeri
Okunan karakteri döndürür. Okuma hatasını veya dosya sonu koşulunu belirtmek için döndürür getc
EOF
ve getwc
döndürür WEOF
. içingetc
, hata feof
olup olmadığını denetlemek veya dosya sonu için veya kullanınferror
. ise stream
NULL
getc
ve getwc
Parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisini çağırın. Yürütmenin devam etmesi için izin verilirse, bu işlevler döndürür EOF
(veya WEOF
içingetwc
) ve olarak EINVAL
ayarlanırerrno
.
İade kodları hakkında daha fazla bilgi için bkz. errno
, _doserrno
, _sys_errlist
ve _sys_nerr
.
Açıklamalar
Her yordam geçerli konumdaki bir dosyadan tek bir karakter okur ve ilişkili dosya işaretçisini (tanımlandıysa) sonraki karaktere işaret etmek için artırır. Dosya ile stream
ilişkilendirilir.
Bu işlevler çağıran iş parçacığını kilitler ve bu nedenle iş parçacığı güvenlidir. Kilitlenmeyen bir sürüm için bkz _getc_nolock
. , _getwc_nolock
.
Rutine özgü açıklamalar takip eder.
Yordam | Açıklamalar |
---|---|
getc |
ile fgetc aynıdır, ancak işlev olarak ve makro olarak uygulanır. |
getwc |
'nin geniş karakterli getc sürümü. Metin modunda mı yoksa ikili modda mı açıldığına stream göre çok baytlı bir karakteri veya geniş bir karakteri okur. |
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Genel metin yordamı eşlemeleri
TCHAR.H yordamı | _UNICODE ve _MBCS tanımlanmadı |
_MBCS tanımlanan |
_UNICODE tanımlanan |
---|---|---|---|
_gettc |
getc |
getc |
getwc |
Gereksinimler
Yordam | Gerekli başlık |
---|---|
getc |
<stdio.h> |
getwc |
<stdio.h> veya <wchar.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Örnek
// 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);
}
Giriş: crt_getc.txt
Line one.
Line two.
Çıktı
Input was: Line one.
Ayrıca bkz.
Akış G/Ç
fgetc
, fgetwc
_getch
, _getwch
putc
, putwc
ungetc
, ungetwc