0
所以我試圖支持一些遺留工具,我爲Java J2ME開發寫了一段時間。使用STL/POSIX從J2SE加載二進制文件iphone使用STL/POSIX
我需要在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的土地Im做: -
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++)平臺時,我得到了那裏的符號以及它的價值。
雖然不確定,但任何指針都會受到歡迎。
乾杯,我還額外加載了一個int * []和++指針,並且獲得了相同的數值,它修復了我的C++端,但數字不正確,所以在寫入的某個地方,4個字節的順序或順序是錯誤的。 – Dev2rights 2012-04-16 19:22:47