在开始和结束处添加的C++字符串

C++ Strings adding at the start and at the end

本文关键字:C++ 字符串 添加 开始 结束      更新时间:2023-10-16

我想在字符串的开头添加一个^,在字符串的末尾添加一个$

std::string s1 (".V/.B/.R/");

最好的使用方式是什么?

s1.append(s1.begin(),"^");
s1.append(s1.end(),"$");

谢谢你的帮助。

应该是insert而不是append,但除此之外似乎还可以。

一个更简单的方法是

s1 = '^' + s1 + '$';

不能以这种方式使用std::string::append()

s1.insert(0, "^");
s1.append("$");

您的示例不起作用,因为它们不使用任何stl::string::append重载,您可以创建一个新字符串并单独添加元素,即

std::string FormatText( const std::string& rstrInput )
{
    std::string strOutput = "^"; 
    strOutput += rstrInput ;
    strOutput += "$";
    return strOutput;    // RVO will eliminate copying
}

但可能有很多方法可以做到这一点,追加可能是最简单的。

std::string strResult = "^" + strValue + "$";

您也可以使用字符串流。。

std::stringstream ss;
ss << "^" << strValue  << "$";
std::string strResult = ss.str();

printf风格的字符串形成等。