Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

fgets

读取文件中的行,并保留换行符

说明

示例

tline = fgets(fileID) 读取指定文件中的下一行内容,并包含换行符。

tline = fgets(fileID,nchar) 返回下一行中的最多 nchar 个字符。

[tline,ltout] = fgets(___) 还在 ltout 中返回行终止符(如果有)。

示例

全部折叠

读取文件的一行内容,第一次读取时先排除换行符,第二次读取时再包含换行符。使用以下文件。

要读取文件 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,
     '

通过检查 fgetlfgets 函数返回的行的长度,比较二者的输出。

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

fgetl 返回的输出显示为一行,而 fgets 返回的输出包含换行符,因此显示为两行。

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

关闭文件。

fclose(fid);

输入参数

全部折叠

已打开文件的文件标识符,指定为整数。在使用 fgets 读取文件的行之前,必须使用 fopen 打开文件并获取其 fileID

数据类型: double

要从下一行中读取的字符数,指定为整数。fgets 返回下一行中的最多 nchar 个字符。如果 nchar 指定的字符数包含换行符或文件末尾标记之后的字符,则 fgets 不会返回换行符或文件末尾标记之后的任何字符。

数据类型: double

输出参数

全部折叠

文件中的下一行,以字符向量或数值标量形式返回。

  • 如果文件非空,则 fgets 以字符向量形式返回 tline

  • 如果文件为空且仅包含文件末尾标记,则 fgets 以数值 -1 的形式返回 tline

行终止符,以整数形式返回。

065535 的整数对应于 Unicode® 字符。您可以使用 char 函数将整数转换为对应的 Unicode 表示形式。

提示

  • tline 不包含换行符或文件末尾标记之后的任何字符。

  • fgets 使用与文件相关联的编码方案读取字符。要指定编码方案,请使用 fopen

扩展功能

版本历史记录

在 R2006a 之前推出