首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将jint转换为jstring

将jint转换为jstring
EN

Stack Overflow用户
提问于 2012-05-08 16:44:46
回答 1查看 5.3K关注 0票数 4
代码语言:javascript
复制
#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;      
}

这个程序将两个jints相乘。结果必须是jstring格式。有没有办法把jint转换成jstring?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-08 17:03:46

您需要创建一个包含结果的C缓冲区(使用sprintf),然后返回NewStringUTF函数的结果:

代码语言:javascript
复制
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

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10495361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档