使用低级 I/O 进行二进制数据的导入与导出
1. 导入二进制数据的低级函数
在数据导入过程中,若高级函数无法满足需求,可考虑使用以下低级文件 I/O 函数:
- fscanf :用于读取文本或 ASCII 文件中的格式化数据,即可以在文本编辑器中查看的文件。
- fgetl 和 fgets :每次读取文件的一行,每行由换行符分隔。
- fread :以字节或位级别读取数据流。
这些低级文件 I/O 函数基于 ANSI 标准 C 库中的函数,不过 MATLAB 提供了向量化版本,可通过最少的控制循环来读写数组中的数据。
2. 读取文件中的二进制数据
在使用任何低级 I/O 函数导入数据之前,需使用 fopen 打开文件并获取文件标识符。处理完文件后,使用 fclose(fileID) 关闭文件。
默认情况下, fread 每次读取 1 个字节,并将每个字节解释为 8 位无符号整数(uint8),会创建一个列向量,文件中的每个字节对应向量中的一个元素,列向量的值为双精度类型。
2.1 示例:创建并读取 nine.bin 文件
% 创建文件
fid = fopen('nine.bin','w');
fwrite(fid, [1:9]);
fclose(fid);
% 读取文件
超级会员免费看
订阅专栏 解锁全文
18

被折叠的 条评论
为什么被折叠?



