如何复制std :: string除了它的第一个字符?

时间:2012-08-23 10:14:12

标签: c++ string

除了第一个字符(originalString)之外,我必须将newString复制到~originalString的内容不应更改。

std::string originalString("~myOriginalString");
std::string newString;
…
// expected result: newString is "myOriginalString", originalString is unmodified.

6 个答案:

答案 0 :(得分:5)

只需使用std::string::substr()

string newString(originalString.substr(1));

答案 1 :(得分:3)

通常,可以使用迭代器执行此类操作:

string newString(originalString.begin()+1, originalString.end());

答案 2 :(得分:0)

std::string有一个方法substr(),就是这样做的。查一查。

答案 3 :(得分:0)

使用substr字符串成员函数:

 newString = originalString.substr(1)

答案 4 :(得分:0)

如果是std :: string,您可以执行以下操作:

newString = originalString;
newString.replace(0, 1, "");

或者还有一种名为erase的方法:

newString = originalString;
newString.erase(0, 1);

基本上,这将用空字符串替换从第0个字符开始的部分,长度为1。第二种方法不会替换,而是直接删除此部分。

答案 5 :(得分:0)

您可以使用c-tor:

string newString(originalString, 1);