目录
fgets函数的功能是读取文件中的行,并保留换行符。
语法
tline = fgets(fileID)
tline = fgets(fileID,nchar)
[tline,ltout] = 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,
'
通过检查fgetl和fgets函数返回的行的长度,比较二者的输出。
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。
要从下一行中读取的字符数,指定为整数。fgets 返回下一行中的最多 nchar 个字符。如果 nchar 指定的字符数包含换行符或文件末尾标记之后的字符,则 fgets 不会返回换行符或文件末尾标记之后的任何字符。
文件中的下一行,以字符向量或数值标量形式返回。
-
如果文件非空,则 fgets 以字符向量形式返回 tline。
-
如果文件为空且仅包含文件末尾标记,则 fgets 以数值 -1 的形式返回 tline。
行终止符,以整数形式返回。
从 0 到 65535 的整数对应于 Unicode® 字符。可以使用 char 函数将整数转换为对应的 Unicode 表示形式。
提示
-
tline不包含换行符或文件末尾标记之后的任何字符。
-
fgets使用与文件相关联的编码方案读取字符。要指定编码方案,请使用fopen。