2

我已经阅读了“在 Matlab 中读取和写入二进制文件”的帖子,但我仍然有疑问。我在 C 和 Matlab 中使用 fwrite 创建了一个长双精度值的二进制文件

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

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

[cinfo, maxsize, ordering] = computer

在 Matlab 中,我的计算机是 little-endian 系统(字节排序系统)。有什么建议么?

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

非常感谢

4

2 回答 2

3

要使用小端序打开文件,请使用

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

顺便说一句,调用什么文件并不重要。

于 2010-04-06T16:07:25.517 回答
1

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

该文档可在 MathWorks 站点上找到。

于 2013-02-01T16:18:58.580 回答