Main Content

fgets

ファイルからの行の読み込み、改行文字の維持

説明

tline = fgets(fileID) は、改行文字を含めて、指定されたファイルの次の行を読み取ります。

tline = fgets(fileID,nchar) は、次の行を最大 nchar 文字まで返します。

[tline,ltout] = fgets(___) は、行終端文字があれば、それも ltout に返します。

すべて折りたたむ

まず改行文字を除外して、次に改行文字を含めて、ファイルから 1 行を読み取ります。次のファイルを使用します。

ファイル badpoem.txt から最初の行を読み取るには、fopen を使用してファイルを開きます。次に、改行文字を除外する fgetl を使用して、最初の行を読み取ります。

fid = fopen('badpoem.txt');
line_ex = fgetl(fid)  % read line excluding newline character
line_ex = 
'Oranges and lemons,'

ファイルの同じ行を再び読み取るには、まず読み取り位置指定子をファイルの先頭に戻します。

frewind(fid);

改行文字を含めて行を読み取る関数 fgets を使用して、ファイル badpoem.txt から最初の行を読み取ります。

line_in = fgets(fid) % read line including newline character
line_in = 
    'Oranges and lemons,
     '

関数 fgetl および関数 fgets で返された行の長さを調べることにより、出力を比較します。

length(line_ex)
ans = 19
length(line_in)
ans = 20

fgetl の返した出力は 1 行に表示されますが、fgets の返した出力は改行文字を含むため、2 行に表示されます。

line_ex
line_ex = 
'Oranges and lemons,'
line_in 
line_in = 
    'Oranges and lemons,
     '

ファイルを閉じます。

fclose(fid);

入力引数

すべて折りたたむ

開いているファイルのファイル識別子。整数として指定します。fgets を使用してファイルから 1 行を読み取る前に、fopen を使用してファイルを開き、その fileID を取得しなければなりません。

データ型: double

次の行から読み取る文字数。整数として指定します。fgets は次の行の最大 nchar 文字を返します。nchar で指定された文字数に改行文字またはファイル終端マーカーを超える文字が含まれる場合、fgets は改行文字またはファイル終端マーカーを超える文字は返しません。

データ型: double

出力引数

すべて折りたたむ

ファイル内の次の行。文字ベクトルまたは数値スカラーとして返されます。

  • ファイルが空ではない場合、fgetstline を文字ベクトルとして返します。

  • ファイルが空でファイル終端マーカーのみがある場合、fgetstline を数値 -1 として返します。

行終端文字。整数として返されます。

0 から 65535 までの整数は Unicode® 文字に対応します。関数 char を使用して、整数を、それに対応する Unicode 表現に変換できます。

ヒント

  • tline には、改行文字またはファイル終端マーカー以降の文字は含まれません。

  • fgets は、ファイルに関連付けられたエンコード スキームを使用して文字を読み取ります。エンコード スキームを指定するには、関数 fopen を使用します。

拡張機能

バージョン履歴

R2006a より前に導入

すべて展開する