_fgetchar
, _fgetwchar
'den stdin
bir karakter okur.
Sözdizimi
int _fgetchar( void );
wint_t _fgetwchar( void );
Dönüş değeri
_fgetchar, bir hata veya dosya sonu belirtmek için okuma int
karakterini veya döndürürEOF
. _fgetwchar, wint_t
okunan karaktere karşılık gelen geniş karakteri olarak döndürür veya bir hata veya dosya sonunu belirtmek için döndürürWEOF
. Her iki işlev için de veya ferror
kullanarak feof
bir hata ile dosya sonu koşulu arasında ayrım yapmak için kullanın.
Açıklamalar
Bu işlevler' den stdin
tek bir karakter okur. İşlev daha sonra ilişkili dosya işaretçisini (tanımlandıysa) bir sonraki karaktere işaret etmek için artırır. Akış dosyanın sonundaysa, akışın dosya sonu göstergesi ayarlanır.
_fgetchar
eşdeğeri, fgetc( stdin )
olur. Aynı zamanda ile getchar
eşdeğerdir, ancak işlev ve makro olarak değil yalnızca işlev olarak uygulanır. _fgetwchar
, öğesinin geniş karakterli sürümüdür _fgetchar
.
Bu işlevler ANSI standardıyla uyumlu değildir.
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 |
---|---|---|---|
_fgettchar |
_fgetchar |
_fgetchar |
_fgetwchar |
Gereksinimler
İşlev | Gerekli başlık |
---|---|
_fgetchar |
<stdio.h> |
_fgetwchar |
<stdio.h> veya <wchar.h> |
Konsol Evrensel Windows Platformu (UWP) uygulamalarında desteklenmez. C çalışma zamanı işlevlerinin bunları UWP uygulamalarında kullanabilmesi için konsolla ilişkilendirilmiş standart akış tanıtıcılarının (stdin
stdout
, ve stderr
) yeniden yönlendirilmesi gerekir. Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Örnek
// crt_fgetchar.c
// This program uses _fgetchar to read the first
// 80 input characters (or until the end of input)
// and place them into a string named buffer.
//
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
char buffer[81];
int i, ch;
// Read in first 80 characters and place them in "buffer":
ch = _fgetchar();
for( i=0; (i < 80 ) && ( feof( stdin ) == 0 ); i++ )
{
buffer[i] = (char)ch;
ch = _fgetchar();
}
// Add null to end string
buffer[i] = '\0';
printf( "%s\n", buffer );
}
Line one.
Line two.Line one.
Line two.