2012-02-09 103 views
-2

如何將如何轉換矢量<矢量<string>>爲char **

vector< vector<string> > 

轉換爲

struct _Struct_3 
{ 
public: 
    char **__ptr; 
    int __size; 
}; 

+0

這是C++或C?如果你必須與C接口,那麼你將不得不做一堆'malloc'和副本(並祈禱你清理正確的內存不會泄漏)。如果它是C++就不要那樣做。永遠。 – 2012-02-09 15:13:19

+1

你的問題是什麼?我們應該爲你寫代碼嗎?那麼你想要rentacoder.com。你到底想了些什麼,你的問題在哪裏,你遇到的具體問題是什麼? – PlasmaHH 2012-02-09 15:13:39

+1

問題未指定。字符串矢量的矢量是三維字符數組,而不是二維字符。 – thiton 2012-02-09 15:13:50

回答

2

可以遍歷第一載體,然後

vector<string> tokens; 
char* args;                         
args = new char [tokens.size()];                       
copy(tokens.begin(), tokens.end(), args); 
1

vector<string>可以放到一個char **__ptr,所以你想把vector<vector<string>>_Struct_3*實際上?您只需遍歷向量中的每個字符串並將其複製到結構體的char **__ptr中,同時遞增大小。對每個矢量重複此操作。

+0

我不同意,但我的C/C++是一個生鏽的。如何將一個矢量放入char **中? – 2012-05-06 00:46:14