2013-07-17 117 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()); 
}