matlab fgetl读一行,转:matlab中的fgetl、fgets、fread这些读txt中的一行
tline =fgets(fileID)从文件中读取行,保留换行符 (换行符和回车符)从文件中读取行,保留换行符 读取指定的文件的下一行,包括换行符。fileid是一个整数文件标识符从fopen获得。tline是一个文本字符串,除非该行只包含结束的文件标记。在这种情况下,tline是数字值-1。与fgets读取字符的编码方案使用与该文件相关联。要指定的编码方案,使用fopen。tline=fget
tline =
fgets(fileID)
从文件中读取行,保留换行符 (换行符和回车符)
从文件中读取行,保留换行符 读取指定的文件的下一行,包括换行符。
fileid是一个整数文件标识符从fopen获得。
tline是一个文本字符串,除非该行只包含结束的文件标记。在这种情况下,tline是数字值-1。与fgets读取字符的编码方案使用与该文件相关联。要指定的编码方案,使用fopen。
tline=fgetl(fid)
从文件中读取行,删除文件换行符
返回由文件标识符fid指示的文件的下一行。如果fgetl遇到文件结束指示符,则返回-1。对于fid的完整描述请参考fopen函数。fgetl函数常用于含有文件换行符的文件。
例如:mm.txt文件内容
1 2 2 3
4 5 6
2 5 6 8
265
3
利用 fgetl()读入时结果:
c=fgetl(fid)
c =
1 2 2 3
利用fgets()读入结果
>> a=fgets(fid)
a =
1 2 2 3
>> whos c
Name Size Bytes Class
c 1x7 14 char array
Grand total is 7 elements using 14 bytes
>> whos a
Name Size Bytes Class
a 1x9 18 char array
Grand total is 9 elements using 18 bytes
当利用fread()读入时,便可以清楚的理解利用fgets()多出来的两个字符。
e=fread(fid)
e =
49
32
50
32
50
32
51
13
1052
32
53
32
54
13
1050
32
53
32
54
32
56
13
1050
54
53
13
1051
可以看到,利用fread对入的是二进制ASCII码,ASCII码10
和13 对应的是换行符和回车符。这就是fgets()为什么比fgetl()多两个字符的原因,在每个换行的时候都会有换行符和回车符。
当利用UltrEdit打开mm.txt文件转换二进制格式就可以看到.
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)