jstring Java_com_example_asus_1pc_javacallc_JNI_sayHello (JNIEnv *env, jobject jobj, jstring jstr){ char *pchar=_JString2CStr(env,jstr); char *pchar2="xiaodongdongna"; char *pResult=strcat(pchar,pchar2); return (*env)->NewStringUTF(env,pResult); }
/** * 让C代码执行字符串运算,Java中传入的字符串末尾添加" add from C " */ JNIEXPORT jstring JNICALL Java_com_example_javacallcdemo_JNI_sayHelloInC (JNIEnv * env, jobject jobj, jstring jstr){ //jstring -->char* char* text = _JString2CStr(env,jstr); char* content = " add from C for gjj!!!"; //把text和content拼接起来,并且把拼接的结果给text strcat(text,content); //jstring (*NewStringUTF)(JNIEnv*, const char*); return (*env)->NewStringUTF(env,text); }
/* * Class: com_myapp_jni_code_JNI * Method: sayHelloInC * Signature: (Ljava/lang/String;)Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_com_myapp_jni_code_JNI_sayHelloInC (JNIEnv * env, jobject clazz, jstring jstr){ //调用工具方法把 java中的string 类型 转换成 C 语言中的 char* char* cstr = _JString2CStr(env,jstr); //调用strlen 获取 cstr 字符串的长度 int length = strlen(cstr); int i; for(i = 0;i<length;i++){ *(cstr+i) += 1; } return (*env)->NewStringUTF(env,cstr); }