2 gowcage gowcage 于 2017.01.14 11:08 提问

就近在研究jni,在C++中写了这么个方法,一调用就报错

jstring jni_wallet_testJNI(JNIEnv env, jobject thiz, jstring fromJavaString)
{
char *a = NULL;
jstringTostr(env, fromJavaString, &a);
LOGI("Line %d", LINE);
char b[] = "这里是C层,接收来自java的数据:";
LOGI("char b : %s Line %d", b,__LINE__);
// strcat(b,a);//加上这句就崩了
LOGI("char b : %s Line %d",b, LINE);
jstring jstr;
LOGI("Line %d", LINE);
strToJString(env, (const int8u
) b, &jstr);
LOGI("Line %d", LINE);
return jstr;
}

2个回答

sycdzdd
sycdzdd   2017.01.14 11:32

jstringTostr(env, fromJavaString, &a);jstring转string的操作是不是有问题,为什么把指向指针a的地址传进去,函数形参是不是char* &类型的,是不是只传a进去就可以了,再后面打印下a试试

gowcage
gowcage 打印是正常的,可以把java层传过来的字符串转成char并且和char b拼接在一起,打印出来也是正常的。而且打印行号也到了最后一行
11 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!