fgets fgetws
取得從資料流的字串。
char *fgets(
char *str,
int n,
FILE *stream
);
wchar_t *fgetws(
wchar_t *str,
int n,
FILE *stream
);
參數
str
資料的儲存位置。n
要讀取的字元的最大數目。stream
指標FILE結構。
傳回值
每一種函式傳回str。 NULL傳回表示錯誤或檔案結尾條件。 使用feof或ferror來判斷是否有錯誤發生。 如果str或stream是空值的指標,或n小於或等於為零,這個函式呼叫不正確的參數處理常式中,如所述參數驗證。 如果要繼續,請允許執行errno設定為 [ EINVAL ,則函數會傳回NULL。
請參閱 _doserrno、 errno、 _sys_errlist,以及 _sys_nerr 如需有關這些項目,以及其他] 下,錯誤代碼。
備註
fgets函式會將輸入讀取字串stream引數,並儲存在str。 fgets自目前資料流位置來讀取字元,包括第一個新行字元,結尾的資料流,或直到讀取的字元數相當於n – 1,取其先。 結果儲存在str加上一個 null 字元。 新行字元,如果讀取、 包含在字串。
fgetws寬字元版本的fgets。
fgetws讀取寬字元引數str為多位元組字元字串,則根據是否為寬字元字串stream會分別在文字模式 」 或 「 二進位模式下,開啟。 如需有關如何使用文字和二進位模式 Unicode 並使用多位元組資料流 i/o 的詳細資訊,請參閱文字和二進位模式的檔案 I/O 和 Unicode 文字和二進位模式中的資料流 I/O。
泛用文字常式對應
TCHAR。H 常式 |
_UNICODE & 未定義的 _MBCS |
定義的 _MBCS |
定義 _unicode 之後 |
---|---|---|---|
_fgetts |
fgets |
fgets |
fgetws |
需求
Function |
所需的標頭 |
---|---|
fgets |
<stdio.h> |
fgetws |
<stdio.h> 或者 <wchar.h> |
其他的相容性資訊,請參閱相容性在簡介中。
範例
// crt_fgets.c
// This program uses fgets to display
// a line from a file on the screen.
//
#include <stdio.h>
int main( void )
{
FILE *stream;
char line[100];
if( fopen_s( &stream, "crt_fgets.txt", "r" ) == 0 )
{
if( fgets( line, 100, stream ) == NULL)
printf( "fgets error\n" );
else
printf( "%s", line);
fclose( stream );
}
}
輸入: crt_fgets.txt
Line one.
Line two.
Output
Line one.