我正在尝试读取存储在使用LabVIEW生成的自定义二进制文件中的数据。通过编写簇数组来创建数据文件。我想使用.net编写的程序从该数据文件中读取集群信息。有没有修改labview生成的文件的简单方法呢?
答案 0 :(得分:4)
这取决于您对“简单”的定义。
如果您正在使用标准LV功能,则直接写入的二进制文件的存储方式与LV存储data in memory相同。因此,前4个字节存储数组中的元素数。其余部分是实际数据:集群。每个集群由其成员组成,每个成员都具有上面链接中指定的字节大小。如果你有一系列数组的数组,那么这会有点迟钝。无论如何,一旦你弄清楚所写数据的类型和大小,你就到了一半。
接下来,您可以使用.NET BinaryReader 几乎读取该文件。然而,LV是Mac的后代,因此它是big endian。 BinaryReader不会这样做。
幸运的是,Jon Skeet确实如此。检查他的MiscUtil库中是否有可以正确读取数据的EndianBinaryReader。