所以我试图支持一些我在 Java 中编写的用于 J2ME 开发的遗留工具。
我需要在 iphone/ipad 上用 C++ 读取相同的文件格式。在你问为什么之前->(因为我还需要支持 Android NDK r7)
现在我无法获得匹配的值,我确定我做对了:这是我的 Java (J2SE) 代码:-
File file = new File(location, "test.d2r");
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
int i = Integer.reverseBytes(8);
writer.write(i);
writer.newLine();
writer.flush();
writer.close();
在 iOS 领域,我正在做:-
NSString *url = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"d2r"];
FILE* fp = fopen([url UTF8String], "r");
if (fp)
{
int j;
printf("\nReading...\n");
fscanf(fp, "%c", &j);
fclose(fp);
printf("DIGIT 1 %d\n\n", j);
}
else
{
printf("\n\n No file found...... \n\n");
}
所以文件打开得很好,但数字不匹配。我试过把 Endian 翻过来。我唯一能考虑的是,当我从无符号 (java) 平台转换为有符号 (c++) 平台时,我在那里得到了符号并且它弄乱了价值。
但不确定,任何指针都会受到极大的欢迎。