- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
#include
#include "Package_MyTester.h"
jstring Java_Package_MyTester_NMethod
(JNIEnv *env, jobject obj, jint first, jint second) {
jint result_i = first * second;
jstring result;
int x = 0;
for(x=0;x<5;x++) {
printf("%d",x);
}
trả về kết quả;
}
这个程序将两个 jint 相乘。结果必须在 jstring 中。有没有办法将 jint 转换为 jstring?。
câu trả lời hay nhất
您需要创建一个包含结果的 C 缓冲区(使用 chạy nước rút
),然后返回 NewStringUTF
函数的结果:
jstring Java_Package_MyTester_NMethod
(JNIEnv *env, jobject obj, jint first, jint second) {
jint result_i = first * second;
char buf[64]; // assumed large enough to cope with result
sprintf(buf, "%d", result_i); // error checking omitted
return (*env)->NewStringUTF(env, buf);
}
参见 http://java.sun.com/docs/books/jni/html/objtypes.html 的第 3.2.3 节
关于java - 将 jint 转换为 jstring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10495361/
我的 Java 类中有一个字符串变量: public class myclass { protected final String file; myclass(String f) {
JNIEXPORT int JNICALL Java_com_ndkfoo_test_GL2JNILib_step2(JNIEnv * env, jobject obj, jstring fileP
我一直在尝试调用具有以下签名的 C 函数 int changeFoo(L_TCHAR* pszFileSrc){....} 在我的 JNI 调用中,我的方法如下所示: JNIEXPORT jint J
当我尝试将 WCHAR_T* 传递给 java 方法时,应用程序崩溃了。 我有 WCHAR_T* 变量及其长度。 我知道如何将它转换为 jstring 以调用 java 方法。 我的 C++ 代码:
这是我的 JNI C 代码: JNIEXPORT jint JNICALL Java_org_avuna_httpd_util_CLibJNI_bind(JNIEnv * this, jclass c
C++ 端看起来像这样: JNIEXPORT jint JNICALL Java_Myclass_showMessage (JNIEnv* env, jobject obj, jstring titl
我正在调用一个返回字符串的 Java 函数: QAndroidJniObject obj = QAndroidJniObject::callStaticObjectMethod("HelloJava"
我对JNI知之甚少|以及内部的处理方式 JNI环境。我有一个简单的问题。 我在 Java 中有一个方法调用 JNI方法并传递一个 String在参数中。 JNI方法在 jstring 中接受该字符串对
#include #include "Package_MyTester.h" jstring Java_Package_MyTester_NMethod (JNIEnv *env, jobject
假设在 C++ 端,我的函数采用类型为 jstring 的变量,名为 myString。我可以将其转换为 ANSI 字符串,如下所示: const char* ansiString = env->Ge
我正在使用下面的 JNI 代码将 jchararray 转换为 jstring,但我在 Linux 中只获得第一个字符。 char *carr =(char*)malloc(length+1); (
我需要在我的 native 代码中使用 const char * 所以,我将 java 端的参数作为 jstring 并使用以下语句 JNIEXPORT int JNICALL JNIFUNCTION
我正在尝试将 wstring 从我的 cpp 代码转换为 jstring。 我知道有一个名为 NewStringUTF 的方法可以从 std::string 获取 jstring(当然是在从该字符串获
我的 cpp 代码包含一个我希望转换为 const char* 的 jni 函数。这是我正在使用的代码 extern "C" { void Java_com_sek_test_JNITest_prin
我正在使用 basic_string类型并需要将其转换为 jstring 以通过 JNI 层。我想知道最好的方法是什么。我有一个函数可以给我 std::string来 self 的 basic_str
我正在尝试将 C++ std::string 转换为 jstring 并将其返回。这将很容易 JNIEnv*->NewStringUTF(stdString.c_str()) 但问题是我正在转换的字符
我通过使用 JNI 将一个 URL 字符串从 Java 传递到 C 代码作为 jstring 数据类型。我的库方法需要一个 char * 作为 url。 如何在 char * 中转换 jstring
我正在尝试为现有 C++ 代码创建 Java 接口(interface)。 我的功能之一与此类似: JNIEXPORT jstring JNICALL Java_com_testproxy_Nativ
我们最近从 Jerkson 切换到 json4s,很快发现这两个库的默认反序列化行为大相径庭。 我们遇到的一个问题是我们有时会收到 json 输入,其中数字字段表示为字符串而不是数字 //exampl
我在 unix 中将 wstring 转换为 jstring 时遇到问题,因为 linux 上 wchar_t 的大小为 4 个字节(不像 Windows 是 2 个字节,因此我无法将 wchar_t
Tôi là một lập trình viên xuất sắc, rất giỏi!