将C写入的二进制文件导入Matlab

时间:2010-04-06 16:01:25

标签: matlab file-io binary binaryfiles

我已阅读帖子“在Matlab中读取/写入二进制文件”,但我仍有疑问。我有一个使用C中的fwrite创建的long double值的二进制文件,在Matlab中我正在使用

fid = fopen('vz3.dat', 'r')
mydata = fread(fid, 'double')

其中vz3.dat是我的文件。但是我在Matlab中得到了垃圾值。根据

[cinfo, maxsize, ordering] = computer

在Matlab中,我的计算机是一个小端系统(字节排序系统)。有什么建议吗?

顺便说一句,二进制文件是否必须以.bin结尾。我正在使用.dat扩展名。这样做可以吗?

非常感谢

2 个答案:

答案 0 :(得分:3)

要打开带小端的文件,请使用

fid = fopen('vz3.dat','r','l');

顺便说一句,调用文件无关紧要。

答案 1 :(得分:0)

如果您必须使用在其他位置打开的文件句柄,您还可以使用machineformat参数fread(这是可选的)。

文档可用on the MathWorks site