除了第一个字符(originalString
)之外,我必须将newString
复制到~
。 originalString
的内容不应更改。
std::string originalString("~myOriginalString");
std::string newString;
…
// expected result: newString is "myOriginalString", originalString is unmodified.
答案 0 :(得分:5)
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);