char类型转换问题,100分送上
void JNICALL defabc(jint class_data_len, const unsigned char* class_data,
jint* new_class_data_len, unsigned char** new_class_data)
{
char old_data[] = class_data;//这里如何转换成char[]类型
char result[1024];
unsigned char key[] = "aaaaaaa-10110101";
AES aes(key);
aes.Bm53InvCipher(old_data, result);//解密方法,void Bm53InvCipher(char *inut, char *output);
printf("%s\n",result);
*new_class_data_len = strlen(result)//长度.....
*new_class_data = result//这里如何转换.....
}
注:我对C++基本上是皮毛,主要是搞java的,工作中要写一个dll,不得不写c++,请各位兄台帮忙.
[解决办法]
- C/C++ code
void JNICALL defabc(jint class_data_len, const unsigned char* class_data, jint* new_class_data_len, unsigned char** new_class_data){ char* old_data =(char*) malloc(class_data_len+1);//如果函数结束后不需要该变量就使用free释放掉 strcpy(old_data,class_data);//如果不是字符,而是数据的话就使用memcpy char result[1024]; unsigned char key[] = "aaaaaaa-10110101"; AES aes(key); aes.Bm53InvCipher(old_data, result);//解密方法,void Bm53InvCipher(char *inut, char *output); printf("%s\n",result); *new_class_data_len = strlen(result)//长度..... *new_class_data = result//这里如何转换?什么意思?}
[解决办法]