Я хочу удалить первые 10 символов из строки в С++. Как это сделать?
Удаление N первых символов из строки
Ответ 1
Вот так:
str.erase(0,10);
...
Ответ 2
Используйте std::string::substr
:
try {
str = str.substr(10);
} catch (std::out_of_range&) {
//oops str is too short!!!
}
Ответ 3
Я подозреваю, что здесь больше кода, который вы не показываете, и проблема, вероятно, там.
Этот код работает очень хорошо:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
string imgURL = "<img src=\"http://imgs.xkcd.com/comics/sky.png";
string str = imgURL;
int urlLength = imgURL.length();
urlLength = urlLength-10;
str.erase (str.begin(), str.end()-urlLength);
imgURL = str;
cout << imgURL << endl;
return 0;
}
С учетом сказанного, есть более короткие способы сделать это, как упомянули другие.