2

文字列HelloHelloがある場合、最初の文字を抽出(つまり省略)するにはどうすればよいelloHelloですか?

私は考えましたが.at()string[n]値を返し、文字列から削除しません

4

4 に答える 4

7
#include <iostream>
#include <string>

int main(int,char**)
{
  std::string x = "HelloHello";
  x.erase(x.begin());
  std::cout << x << "\n";
  return 0;
}

プリント

elloHello
于 2013-03-26T14:29:20.317 に答える
3

使用するerase

std::string str ("HelloHello");

str.erase (0,1);  // Removes 1 characters starting at 0.

// ... or

str.erase(str.begin());
于 2013-03-26T14:29:49.270 に答える
3

サブストリングを使用する必要があります。最初のパラメーターは開始位置を示します。2番目のパラメーターstring::nposは、新しいストリングに、指定された開始位置からストリングの終わりまでのすべての文字を含めることを意味します。

std::string shorterString = hellohello.substr(1,  std::string::npos); 

http://www.cplusplus.com/reference/string/string/substr/

于 2013-03-26T14:30:00.243 に答える
2

substr()を使用してみてください

参照:http ://www.cplusplus.com/reference/string/string/substr/

于 2013-03-26T14:29:29.523 に答える