[英]Insert a char from vector to string in c++
我想將保存到向量中的char插入到字符串變量中。
我正在使用此代碼,但出現錯誤:
result.insert(result.size(), G1[fromPos]);
在此代碼中,G1是具有char類型的向量,而result是一個字符串變量。
但是我得到這個錯誤:
沒有重載函數“ std :: basic_string <_Elem,_Traits,_Alloc> :: insert [with _Elem = char,_Traits = std :: char_traits,_Alloc = std :: allocator]”的實例與參數列表匹配,參數類型為:( size_t,字符)
我該怎么做才能解決這個問題?
首先,請勿將result.size()
用作放置char的索引,因為這會導致std::out_of_range
異常:
如果此(pos)大於對象的長度,則拋出out_of_range。
其次,根據std :: string :: insert規范,要插入單個字符,應使用以下重載:
result.insert(index, 1, G1[fromPos]);
如果要在字符串的末尾附加單個字符,最好的解決方案是使用:
result.push_back(G1[fromPos]);
如果只想將char附加到字符串,則可以使用+ =運算符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.