_fgetchar _fgetwchar
讀取 stdin的字元。
int _fgetchar( void );
wint_t _fgetwchar( void );
傳回值
傳回_fgetchar 做為 int 或 EOF 傳回讀取的字元表示錯誤或檔案結尾。**_**fgetwchar 傳回,為 wint_t,對應至讀取的字元寬字元或傳回 WEOF 指出錯誤或檔案結尾。對於兩個函式,請使用 feof 或 ferror 區別錯誤和一個文件關閉條件之間。
備註
這些函式讀取來自 stdin的單一字元。函式會將關聯的檔案指標 (如果有定義)、下一個字元。如果資料流已在檔案結尾,資料流的檔案結尾標記設定。
_fgetchar 相當於 fgetc( stdin )。它與 getchar也相同,不過,只有會實作為函式,而不是函式和巨集。_fgetwchar 是 _fgetchar的寬字元版本。
這些函式與 ANSI 標準。
泛用文字常式對應
Tchar.h 常式 |
未定義的 _UNICODE 和 _MBCS |
已定義 _MBCS |
已定義 _UNICODE |
---|---|---|---|
_fgettchar |
_fgetchar |
_fgetchar |
_fgetwchar |
需求
Function |
必要的標頭檔 |
---|---|
_fgetchar |
<stdio.h> |
_fgetwchar |
<stdio.h> 或 <wchar.h> |
主控台 Windows 市集 應用程式不支援。標準資料流控制代碼與主控台, stdin, stdout和 stderr,在這種情況下, C 執行階段函式在 Windows 市集 應用程式之前,可以使用它們必須重新導向。如需更多關於相容性的資訊,請參閱入門介紹中的 相容性 (Compatibility) 。
範例
// 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 );
}