サイト内検索:

LPSTR型→jstring型変換

2010年01月23日更新
お気に入りに登録
VBVCJava開発室 > プログラミング > 文字列処理 > LPSTR型→jstring型変換
文字列処理
  1. doc左部分文字列取得
  2. doc右部分文字列取得
  3. doc任意部分文字列取得
  4. doc文字列内検索
  5. doc文字列長取得
  6. doc文字列分解
  7. doc文字列置換
  8. docint型→文字列変換
  9. doc文字列→int型変換
  10. doclong型→文字列変換
  11. doc文字列→long型変換
  12. docdouble型→文字列変換
  13. doc文字列→double型変換
  14. doc日付型→文字列変換
  15. doc文字列→日付型変換
  16. docBSTR型→LPSTR型変換
  17. docLPSTR型→BSTR型変換
  18. docjstring型→LPSTR型変換
  19. docLPSTR型→jstring型変換
メインメニュー
  1. docプログラミング
  2. docサーバ構築
  3. docお薦めの技術書籍/参考書
  4. docパソコンショップ
  5. docサーバーショップ
  6. doc周辺機器
  7. docモニター
  8. doc外部媒体
  9. doc自作パソコン用パーツ
  10. doc契約
  11. doc就職・転職・バイト情報

◆説明◆

LPSTR型の文字列をjstring型に変換する関数のサンプルです。VC++でJava用のDLL(JNI(Java Native Interface))を作成する際、使用します。


◆VC++◆

// jni.hをインクルードする必要があります。
// #include <jni.h>
// 処理概要 : SJIS→Unicode→jstring
jstring ToJString(JNIEnv *env, LPSTR lpTarget)
{
jstring jsResult;
// 変換対象が NULL の場合、変換処理せずに NULL を返す。
if (lpTarget == NULL)
{
return NULL;
}
// 変換元の文字列の長さを取得
int intTargetLen = strlen(lpTarget);
// Unicode変換結果格納用の領域を確保
jchar* jcTarget = (jchar*)calloc(intTargetLen + 1, sizeof(jchar));
// SJIS→Unicode 変換
MultiByteToWideChar(
CP_ACP, MB_PRECOMPOSED,
lpTarget, strlen(lpTarget),
jcTarget, intTargetLen + 1);
// Unicode→jstring 変換
jsResult = env->NewString(jcTarget, wcslen(jcTarget));
// Unicode変換結果格納用の領域を開放
free(jcTarget);

// 変換結果を返す
return jsResult;
}


お気に入りに登録