C++ 复制vector值到array,复制 array 到jintArray
?// [feature 1 ]?copy vector value to array
vector<int> vec ;
for (int i = 0 ;i<10;++i)
{
? ? vec.push_back(i);
? ? printf("%d",vec.at(i));
}
int vecSize = vec.size();
if (vecSize == 0) return;
int *arr = new int[vec.size()]; ?//初始化數(shù)組大小 ?New?
for (int i = 0 ;i<vec.size();++i)
{
? ? arr[i] = vec.at(i);
? ? printf("%d",arr[i]);
}
JniMethodInfo t;
// [feature 2 ] copy array to jintArray
// [REF jni.h] void SetIntArrayRegion(jintArray array, jsize start, jsize len, const jint* buf)
jintArray ja= t.env->NewIntArray((jint)vecSize); //if (ja == NULL) return NULL;
jint bf[vecSize];
for (int i = 0;i<vecSize;++i)
{
bf[i]=arr[i];
}
t.env->SetIntArrayRegion(ja,0,vecSize,bf)
t.env->CallStaticVoidMethod(t.classID, t.methodID, ja);
t.env->DeleteLocalRef(t.classID);
delete [] arr; ? ? ? ? ? ? ? ? ? ? ? ? // 釋放
?
轉載于:https://www.cnblogs.com/idcenter/p/4726258.html
總結
以上是生活随笔為你收集整理的C++ 复制vector值到array,复制 array 到jintArray的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公路建厂最短路径问题
- 下一篇: Stream 与 byte[] 互转