除了第一个字符 ( )之外,我必须复制originalString
到。的内容不应更改。newString
~
originalString
std::string originalString("~myOriginalString");
std::string newString;
…
// expected result: newString is "myOriginalString", originalString is unmodified.
string newString(originalString.substr(1));
一般来说,这种操作可以用迭代器来执行:
string newString(originalString.begin()+1, originalString.end());
您可以为此使用 c-tor:
string newString(originalString, 1);
std::string
有一个方法,substr()
,它就是这样做的。查一下。
使用substr字符串成员函数:
newString = originalString.substr(1)
如果它是 std::string,您可以执行以下操作:
newString = originalString;
newString.replace(0, 1, "");
或者,还有一种方法称为erase
:
newString = originalString;
newString.erase(0, 1);
基本上,这用空字符串替换了从第 0 个字符开始、长度为 1 的部分。第二种方法不替换,而是直接擦除这部分。