?? myjni.cpp
字號:
#include "stdio.h"
#include "com_opt_jni_MyJNI.h"
#include "cstring"
jstring stoJstring( JNIEnv* env, const char* pat )
{
//定義java String類 strClass
jclass strClass = (env)->FindClass("Ljava/lang/String;");
//獲取java String類方法String(byte[],String)的構造器,用于將本地byte[]數組轉換為一個新String
jmethodID ctorID = (env)->GetMethodID(strClass, "<init>", "([BLjava/lang/String;)V");
jbyteArray bytes = (env)->NewByteArray(strlen(pat));//建立byte數組
(env)->SetByteArrayRegion(bytes, 0, strlen(pat), (jbyte*)pat);//將char* 轉換為byte數組
jstring encoding = (env)->NewStringUTF("GB2312"); // 設置String, 保存語言類型,用于byte數組轉換至String時的參數
return (jstring)(env)->NewObject(strClass, ctorID, bytes, encoding);//將byte數組轉換為java String,并輸出
}
JNIEXPORT void JNICALL Java_com_opt_jni_MyJNI_setStr
(JNIEnv *env, jobject obj, jstring jstr){
}
JNIEXPORT jstring JNICALL Java_com_opt_jni_MyJNI_getStr
(JNIEnv *env, jobject obj){
const char *str="[上海凌鼎管理軟件有限公司],JAVA <---> C/C++通信測試";
return stoJstring(env,str);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -