2012-08-06 68 views
0

我的問題是我有Java方法我需要轉換這個目標我將嘗試這一點,但它的回零轉換Java方法,以C或目標C

-(char *)intToByteArray:(char *)data{ 
int iii13=((int)((data[0]>>24),(data[1] >>16) ,(data[2] >>8),(data[3]>>0))); 
char* where = (char*)malloc(10); 
where[0] = *((char*)(&iii13) + 0); 
where[1] = *((char*)(&iii13) + 1); 
where[2] = *((char*)(&iii13) + 2); 
where[3] = *((char*)(&iii13) + 3); 
// 0 
// char *www11 = (char *)www13; 
return where; 
} 
<=====================Java Code================> is below 

public static final byte[] intToByteArray(int value) { 
    return new byte[] { 
      (byte)(value >>> 24), 
      (byte)(value >>> 16), 
      (byte)(value >>> 8), 
      (byte)value}; 
} 

我想返回字符本身,以便任何人都可以提出我正確的方式

回答

0

你的意思是?

// assuming you have a little endian processor. 
long* where = (long*) malloc(4); 
*where = value; 
return (char *) where; 
+0

那麼它也自己歸零 – 012346 2012-08-06 10:55:43

+0

你的意思是4個零?因爲如果你給它一個不到1600萬的數字,第一個字節就是0。 – 2012-08-06 11:07:38