我正在开发一个 google chrome 扩展程序,其中我通过 pp::Var shared = dict_message.Get("shared_list");
从扩展程序中接收一个整数数组。现在我需要将这个数组传递给 C 函数,因此需要将元素放入 int*
。我该怎么做?
最佳答案
首先,确保 pp::Var
确实是一个数组。
if (shared.is_array()) {
然后,使用pp::VarArray
类提供的接口(interface)。
pp::VarArray array(shared);
int * carray = new int[array.GetLength()];
for (uint32_t i = 0; i < array.GetLength(); ++i) {
pp::Var oneElem(array.Get(i));
assert(oneElem.is_number());
carray[i] = oneElem.AsInt();
}
// carray is ready to use
delete [] carray;
}
关于将 chrome 原生客户端中的 pp::Var 数组转换为 C 整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31500102/