簡體   English   中英

將字符從向量插入到C中的字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM