0

私の問題は、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自体を返したいので、誰かが私に適切な方法を提案できますか

4

1 に答える 1

0

ということですか?

 // assuming you have a little endian processor.
 long* where = (long*) malloc(4);
 *where = value;
 return (char *) where;
于 2012-08-06T10:52:29.770 に答える