gpt4 book ai didi

java - 将 jint 转换为 jstring

转载 作者:太空狗 更新时间:2023-10-29 16:08:41 44 4
gpt4 key购买 nike

#include <stdio.h>
#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);
}

return result;
}

这个程序将两个 jint 相乘。结果必须在 jstring 中。有没有办法将 jint 转换为 jstring?。

最佳答案

您需要创建一个包含结果的 C 缓冲区(使用 sprintf),然后返回 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/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com