// GetStringUTFChars.cpp : 定义 DLL 应用程序的导出函数。
//
#include "stdafx.h"
#include "..\GetStringUTFChars.h"
JNIEXPORT void JNICALL Java_GetStringUTFChars_modifyString
(JNIEnv *env , jclass clazz, jstring str, jstring strNew)
{
jboolean b=false;
char* oldstr=(char* )env->GetStringUTFChars(str,&b);
b=true;
const char* newchar=env->GetStringUTFChars(strNew,&b);
strcpy(oldstr,newchar);
}
/*
GetStringUTFChars
const char* GetStringUTFChars
(JNIEnv* env, jstring string, jboolean* isCopy)
*/
class GetStringUTFChars
{
native static void modifyString(final String str,final String strNew);
public static void main(String[] args)
{
String str="Hello World!";
System.out.println(str);
String strnew="new String!";
modifyString( str,strnew);
System.out.println(str);
}
static {
System.loadLibrary("GetStringUTFChars");
}
}
/*
Hello World!
Hello World!
请按任意键继续. . .
*/
/*
GetStringUTFChars
const char* GetStringUTFChars
(JNIEnv* env, jstring string, jboolean* isCopy)
*/
class GetStringUTFChars
{
native static void modifyString(final String str,final String strNew);
public static void main(String[] args)
{
String str="Hello World!";
System.out.println(str);
String strnew="new String!";
modifyString( str,strnew);
System.out.println(str);
}
static {
System.loadLibrary("GetStringUTFChars");
}
}
/*
Hello World!
isCopy=true
isCopy=true
Hello World!
请按任意键继续. . .
*/
/*
// GetStringUTFChars.cpp : 定义 DLL 应用程序的导出函数。
//
#include "stdafx.h"
#include "..\GetStringUTFChars.h"
#include<iostream>
using namespace std;
JNIEXPORT void JNICALL Java_GetStringUTFChars_modifyString
(JNIEnv *env , jclass clazz, jstring str, jstring strNew)
{
jboolean b=false;
char* oldstr=(char* )env->GetStringUTFChars(str,&b);
if(b)
cout<<"isCopy=true"<<endl;
else
cout<<"isCopy=false"<<endl;
b=true;
const char* newchar=env->GetStringUTFChars(strNew,&b);
if(b)
cout<<"isCopy=true"<<endl;
else
cout<<"isCopy=false"<<endl;
strcpy(oldstr,newchar);
}
*/