我正在尝试读取存储在使用 LabVIEW 生成的自定义二进制文件中的数据。数据文件是通过写入一个簇数组来创建的。我想使用.net 编写的程序从该数据文件中读取集群信息。有没有一种简单的方法可以在不修改labview生成的文件的情况下做到这一点?
问问题
1752 次
1 回答
4
这在一定程度上取决于您对“简单”的定义。
如果您使用标准 LV 函数,则直接写入的二进制文件的存储方式与 LV在内存中存储数据的方式相同。因此,前 4 个字节存储数组中元素的数量。其余的是实际数据:簇。每个集群都由其成员组成,每个成员都具有上面链接中指定的字节大小。如果你有一组数组的数组,这可能会有点迟钝……无论如何,一旦你弄清楚所写入数据的类型和大小,你就成功了。
接下来,您几乎可以使用.NET BinaryReader读取文件。但是,LV 是 Mac 的后裔,因此它是大端。BinaryReader 不这样做。
幸运的是,乔恩斯基特做到了。检查他的MiscUtil库中是否有可以正确读取数据的 EndianBinaryReader。
于 2010-11-12T02:42:53.663 回答