【发布时间】:2012-08-21 07:42:19
【问题描述】:
有一个文件是用 Objective C 创建的。在这个文件中有一个数组:int[x][y]。在 C 中“按原样”读取此文件并仅将新 int[][] 的链接作为缓冲区传递是没有问题的。
但我想用 Java 读取这个文件,我尝试将它读取到 int[x*y],但值不同,因为 C 存储双数组 ([][]) 不像简单的 []。
我认为有两种方法:重新创建文件以在 Java 中使用或在 Java 中使用 C++,但也许有一些更简单的方法?
更新
文件的创建(inf Objective C)(数组的大小每次都是固定的)
NSData *mydata = [NSData dataWithBytes:&areas length:sizeof(areas)];
[mydata writeToFile:filePathData options:NSDataWritingAtomic error:&error];
【问题讨论】:
-
你知道 C 应用程序创建的文件的确切结构吗?
-
你是如何用 C 语言编写文件的?
-
你怎么知道“值是不同的,因为 C 存储 [][] 不像简单的 []”?
-
我只建议错误可能是因为存储方式
标签: java objective-c arrays file binaryfiles