我想在字符串的開始處添加^
,並在末尾添加$
。C++在開始處和結尾處添加字符串
std::string s1 (".V/.B/.R/");
是最好的使用方法嗎?
s1.append(s1.begin(),"^");
s1.append(s1.end(),"$");
感謝您的幫助。
我想在字符串的開始處添加^
,並在末尾添加$
。C++在開始處和結尾處添加字符串
std::string s1 (".V/.B/.R/");
是最好的使用方法嗎?
s1.append(s1.begin(),"^");
s1.append(s1.end(),"$");
感謝您的幫助。
這將是insert
而非append
,但除此之外,它似乎確定。
一個更簡單的方法是
s1 = '^' + s1 + '$';
用於處理char文字的+1 – ipc 2012-03-21 11:52:04
你不能以這種方式使用std::string::append()
:
s1.insert(0, "^");
s1.append("$");
你的例子是行不通的,因爲他們沒有使用任何的stl::string::append
overloads,您可以創建一個新的字符串和單獨添加的元素,即
std::string FormatText(const std::string& rstrInput)
{
std::string strOutput = "^";
strOutput += rstrInput ;
strOutput += "$";
return strOutput; // RVO will eliminate copying
}
但是可能有很多方法可以做到這一點,追加可能是最簡單的。
std::string strResult = "^" + strValue + "$";
你也可以使用stringstreams ..
std::stringstream ss;
ss << "^" << strValue << "$";
std::string strResult = ss.str();
... printf類型串成形等等等等。在何種意義上
什麼都沒有提及他可能的意圖的「insert」? – 2012-03-21 21:34:34
「最佳」?性能?清晰? – leftaroundabout 2012-03-21 11:43:44
如果很清楚@leftaroundabout – CodersSC 2012-03-21 11:44:44
的性能真的會很好,至少在C++ 11中(感謝移動語義),思考它,'^「+ strValue +」$「'的好方法可能不會甚至比C型手動內存分配的性能明顯更差,所以我肯定會這樣做。 – leftaroundabout 2012-03-21 11:50:42