0

在ndk中,我想将一些ascii值转换为字符串。我得到了结果,但是字符串后面有一些符号

这是我得到的答案

sint#j8na8̀

我的代码是

    jstring Java_com_magsonwink_utils_security_En_invokeNativeFunction(
    JNIEnv* env, jobject javaThis) {

int i = 0;

int a[3]= {
        115,
        105,
        110,
};
char b[3];
for (i = 0; i < 3; i++) {
        b[i] = (char) a[i];

    }
 jstring result = (*env)->NewStringUTF(env, b);

return result;

}

4

1 回答 1

0

您不必对字符串进行空终止吗?尝试

jstring Java_com_magsonwink_utils_security_En_invokeNativeFunction(
    JNIEnv* env, jobject javaThis) {

   int i = 0;

   int a[3]= {
        115,
        105,
        110,
   };
   char b[4];
   for (i = 0; i < 3; i++) {
        b[i] = (char) a[i];

    }
   b[3] = 0;
   jstring result = (*env)->NewStringUTF(env, b);

   return result;
}
于 2012-04-27T09:51:52.380 回答