#include "StringAdd.h" #include #include using namespace std; #if VERSION == 1 // Version 1 JNIEXPORT jstring JNICALL Java_StringAdd_add ( JNIEnv *env, jclass cls, jstring a, jstring b ) { const char *a1 = env->GetStringUTFChars( a, NULL ); const char *b1 = env->GetStringUTFChars( b, NULL ); char *c = new char[ strlen( a1 ) + strlen( b1 ) + 1 ]; strcpy( c, a1 ); strcat( c, b1 ); jstring result = env->NewStringUTF( c ); env->ReleaseStringUTFChars( a, a1 ); env->ReleaseStringUTFChars( b, b1 ); delete [] c; return result; } #else JNIEXPORT jstring JNICALL Java_StringAdd_add ( JNIEnv *env, jclass cls, jstring a, jstring b ) { const char *a1 = env->GetStringUTFChars( a, NULL ); const char *b1 = env->GetStringUTFChars( b, NULL ); string c = a1; c += b1; jstring result = env->NewStringUTF( c.c_str( ) ); env->ReleaseStringUTFChars( a, a1 ); env->ReleaseStringUTFChars( b, b1 ); return result; } #endif