-1
const char * tag1[]={"abc","xyz"};
如何將tag1轉換爲std :: string?如何在std :: string中存儲const char * []?
std::string tag2(tag1)
它只是將tag1 [0]複製到tag2。我想要的是將整個tag1數組轉換爲字符串。
任何想法或解決方法?
const char * tag1[]={"abc","xyz"};
如何將tag1轉換爲std :: string?如何在std :: string中存儲const char * []?
std::string tag2(tag1)
它只是將tag1 [0]複製到tag2。我想要的是將整個tag1數組轉換爲字符串。
任何想法或解決方法?
既然你想C-字符串數組合併成一個的std :: string,你可以這樣做:
std::string tag2;
for (auto ptr : tag1) {
tag2.append(ptr);
}
遍歷C字符串數組,並把它們添加到目的地的std :: string。
由於tag1中每個C字符串的末尾都有空終止符,因此tag1數組的直接副本將不能用於預分配的std :: string。你會得到abc\0xyz
,而不是abcxyz
可能計算的總大小和保留是一個更有效的沒有鯉魚代碼多 –
你想實現什麼? 'string'是一個字符串,而不是一串字符串。 –
@ Jean-FrançoisFabre:我只是想將整個tag1數組轉換爲單個字符串。 – secretgenes
看一看:http://stackoverflow.com/questions/5689003/how-to-implode-a-vector-of-strings-into-a-string-the-elegant-way 注:陣列是邪惡的。 – Aneri