0

最初の文字()を除いてコピーoriginalStringする必要があります。の内容は変更しないでください。newString~originalString

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

6 に答える 6

6

単に使用するstd::string::substr()

string newString(originalString.substr(1));
于 2012-08-23T10:16:13.797 に答える
3

一般に、この種の操作はイテレータを使用して実行できます。

string newString(originalString.begin()+1, originalString.end());
于 2012-08-23T10:16:46.227 に答える
0

std::stringこれを行うメソッド、substr()があります。調べる。

于 2012-08-23T10:16:54.730 に答える
0

substr文字列メンバー関数を使用します。

 newString = originalString.substr(1)
于 2012-08-23T10:17:03.803 に答える
0

std :: stringの場合は、次のようにすることができます。

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

eraseあるいは、 :と呼ばれるメソッドもあります。

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

基本的に、これは長さ1の0番目の文字で始まる部分を空の文字列に置き換えます。2番目の方法は置き換えられませんが、この部分を直接消去します。

于 2012-08-23T10:17:40.277 に答える
0

そのためにc-torを使用できます。

string newString(originalString, 1);

于 2012-08-23T10:28:14.273 に答える