Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Java方法转换为c或目标c_Java_Objective C_Char_Int - Fatal编程技术网

将Java方法转换为c或目标c

将Java方法转换为c或目标c,java,objective-c,char,int,Java,Objective C,Char,Int,我的问题是我有java方法,我需要转换这个目标,我正在尝试,但它返回零 -(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); whe

我的问题是我有java方法,我需要转换这个目标,我正在尝试,但它返回零

-(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};
}
-(char*)intToByteArray:(char*)数据{
int iii13=((int)((数据[0]>>24),(数据[1]>>16),(数据[2]>>8),(数据[3]>>0));
char*其中=(char*)malloc(10);
式中[0]=*((字符*)(&iii13)+0);
式中[1]=*((字符*)(&iii13)+1);
式中[2]=*((字符*)(&iii13)+2);
式中[3]=*((字符*)(&iii13)+3);
// 0
//char*www11=(char*)www13;
返回哪里;
}
在下面
公共静态最终字节[]intToByteArray(int值){
返回新字节[]{
(字节)(值>>>24),
(字节)(值>>>16),
(字节)(值>>>8),
(字节)值};
}
我想要返回char本身,所以有人能给我建议正确的方法吗你是说

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

那么它本身也返回零,你是说4个零,对吗?因为如果你给它一个小于1600万的数字,第一个字节将是0。