1
どのように2つのjstringsをc言語で比較しますか?私はJava言語でCのネイティブ関数を呼び出すことになっているJavaのネイティブインタフェースで作業していますが、Cコード内のロジックは一致する名前を比較することです。Jstringの比較in.c言語
どのように2つのjstringsをc言語で比較しますか?私はJava言語でCのネイティブ関数を呼び出すことになっているJavaのネイティブインタフェースで作業していますが、Cコード内のロジックは一致する名前を比較することです。Jstringの比較in.c言語
あなたは、単にCallBooleanMethod()
経由でJavaのequals()
(またはものは何でもしたい)を使用することができます。
jstring jstr1;
jstring jstr2;
jclass cls = (*env)->GetObjectClass(env, jstr1);
jmethodID mID = (*env)->GetMethodID(env, cls, "equals", "(Ljava/lang/Object;)Z");
jboolean equals = (*env)->CallBooleanMethod(env, jstr1, mID, jstr2);
これは、このような比較のラフバージョンです。
このコードを実行すると、次のエラー "式にポインタ型が必要です"が表示されます。 –
私が言ったように - それは荒いです。コンパイラのメッセージ全体と、それが正確に理解できない行を表示しますか?それはCまたはC++としてコンパイルされていますか? – Sergio
実際にはVisual Studio.weのコードをWindowsに作成していますが、ロジックが存在する.cファイルを追加したdllが作成されています。 –