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 でエラーや EOF が見つかりました。状態を示す場合に返されます。エラーが発生したかどうかを確認するために feof または ferror を使用します。strstream またはが null ポインターの場合またはがゼロ n 以下の場合この関数は パラメーターの検証 に説明されているように無効なパラメーター ハンドラーを呼び出します。実行の継続が許可された場合、errno が EINVAL に設定され、関数から NULL が返されます。
エラー コードの詳細については、「_doserrno、errno、_sys_errlist、および _sys_nerr」を参照してください。
解説
fgets の関数は入力 stream の引数とデータ ストアから文字列を str から読み取ります。fgets は現在のストリーム内の現在の位置からの読み取り文字をストリームの末尾に読み込まれた文字数まで最初の改行文字を含むは最初にあるどの場合でもn – 1 と同じです。str に格納される結果は null 文字が追加されます。改行文字が文字列に読み取られた含まれます。
fgetwsfgets はのワイド文字バージョンです。
fgetws はマルチバイト文字またはワイド文字列として stream がテキスト モードまたはバイナリ モードで開くかどうかによってワイド文字の引数 str をそれぞれ読み取ります。Unicode およびマルチバイトのストリーム入出力におけるテキスト モードおよびバイナリ モードの使い方の詳細については、「テキスト モードとバイナリ モードのファイル入出力」および「テキスト モードとバイナリ モードの Unicode ストリーム入出力」を参照してください。
汎用テキスト ルーチンのマップ
TCHAR.H のルーチン |
_UNICODE および _MBCS が未定義の場合 |
_MBCS が定義されている場合 |
_UNICODE が定義されている場合 |
---|---|---|---|
_fgetts |
fgets |
fgets |
fgetws |
必要条件
Function |
必須ヘッダー |
---|---|
fgets |
<stdio.h> |
fgetws |
<stdio.h> または <wchar.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
// 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.
出力
Line one.