2013-07-17 133 views
2

我想从一个参数中解析/转换一个字符串数组到一个std :: vector在我的C++插件中。解析字符串数组参数

这里是我的代码:

Handle<Array> array = Handle<Array>::Cast(args[4]); 
for (uint32_t i = 0; i < array->Length(); i++) { 
    Local<Object> obj = array->CloneElementAt(i); 
} 

但是,不管怎么做我的对象(如投字符串的ToString(),...),我得到信息转储在执行。 我错过了一些明显的东西吗?

感谢您的阅读。

解决方案:

Handle<Array> array = Handle<Array>::Cast(args[4]); 
for (uint32_t i = 0; i < array->Length(); i++) { 
    Local<Value> obj = array->Get(Integer::New(i)); 
} 
+0

'args [4]'绝对有效吗? –

+0

是的,数组上的ToString返回“elem1,elem2,elem3” –

+0

我找到了解决方案(事实上不是我),它只是使用Get(Integer :: New(i))而不是CloneElementAt(i)。它返回一个可以转换为字符串的值。 –

回答

0

解决方案是使用GET而不是CloneElementAt。

Handle<Array> array = Handle<Array>::Cast(args[4]); 
for (uint32_t i = 0; i < array->Length(); i++) { 
    String::AsciiValue s(array->Get(Integer::New(i))->ToString()); 
}