[精] Matlab I/O 输入输出——二进制文件

董为国:《深入浅出MATLAB7.x混合编程》

二进制文件

Matlab对二进制文件的读写需要使用低级文件命令。和对文本文件的读写一样,使用低级命令处理二进制文件包括3个步骤:打开文件、相应的文件读写,以及关闭文件。打开/关闭文件和文本文件一样,只是要用到不同的参数。只有中间步骤,也就是对文件的读写,需要用到专门适用于二进制文件的命令。

二进制文件的打开/关闭

fopen/fclose

二进制文件的读写

fread

类似于fscanf

fwrite

类似于fprintf

文件读写位置控制:文件被成功打开后,一个内部指针就指向文件开头的前一个字节。随着对文件的读/写命令的执行,这个指针也会在文件中移动,指向文件中不同的位置。

fseek

用来设定文件指针的位置

ftell

用来获得当前文件指针的位置

frewind

用来把文件指针重新复位到文件开头

feof

用来判断是否到达文件末尾


MAT文件

Matlab中读写MAT文件

MAT文件是Matlab使用的一种二进制数据文件。MAT文件不仅保存各变量数据本身,它同时保存变量名以及数据类型等。所以在Matlab中载入某个MAT文件后,可以在当前Matlab工作空间完全再现当初保存该MAT文件时的那些变量。这是MAT文件优于其他文件格式的一个原因。

load

load是Matlab的一个内置函数,其功能是从MAT文件或者文本文件中导入数据。

MAT文件虽然是二进制文件,但是可以在不同计算机平台上使用。save将当前计算机上对于二进制数据的字节存储顺序在MAT文件中保存数据。

save
save也是Matlab的一个内置函数,其功能是把当前的Matlab工作空间中的一个或者多个变量存入外部文件。

save也可以在不同的计算机平台上使用,并且能够根据目标计算机对于二进制数据的字节存储顺序而正确地读取数据。

C++中读写MAT文件

利用Matlab的MAT编程接口函数

matOpen

matClose

matGetDir

matGetFp

matGetVariable

matPutVariable

matGetNextVariable

matDeleteVariable

matPutVariableAsGlobal

matGetVariableInfo

matGetNextVariableInfo

头文件mat.h包含了这些函数的定义,库函数libmat.lib包含了这些函数代码,libmat.lib又依赖于libmx.lib。

普通C++程序中读取MAT文件内容

前面介绍了如何在C/C++程序中利用Matlab提供的接口函数进行MAT文件读写。不过所开发出的程序在运行时需要Matlab提供的动态链接库函数。MathWorks提供了Matlab 6.x版本所对应的动态链接库,但是没有提供Matlab 7.x的动态链接库。

 

原文链接: https://www.cnblogs.com/xfzhang/archive/2010/12/28/1918659.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    [精] Matlab I/O 输入输出——二进制文件

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/19357

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月7日 下午8:26
下一篇 2023年2月7日 下午8:26

相关推荐