文字列HelloHello
がある場合、最初の文字を抽出(つまり省略)するにはどうすればよいelloHello
ですか?
私は考えましたが.at()
、string[n]
値を返し、文字列から削除しません
#include <iostream>
#include <string>
int main(int,char**)
{
std::string x = "HelloHello";
x.erase(x.begin());
std::cout << x << "\n";
return 0;
}
プリント
elloHello
使用するerase
std::string str ("HelloHello");
str.erase (0,1); // Removes 1 characters starting at 0.
// ... or
str.erase(str.begin());
サブストリングを使用する必要があります。最初のパラメーターは開始位置を示します。2番目のパラメーターstring::npos
は、新しいストリングに、指定された開始位置からストリングの終わりまでのすべての文字を含めることを意味します。
std::string shorterString = hellohello.substr(1, std::string::npos);
substr()を使用してみてください
参照:http ://www.cplusplus.com/reference/string/string/substr/