C ++字符串在开头和结尾添加

时间:2012-03-21 11:40:23

标签: c++ string

我想在字符串的开头添加^,在结尾添加$

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

是最好的使用方式吗?

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

感谢您的帮助。

3 个答案:

答案 0 :(得分:7)

它将是insert而不是append,但除此之外似乎没问题。

更简单的方法是

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:2)

您的示例无效,因为他们不使用任何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样式字符串形成等等。