C++ の文字列から最初の 10 文字を削除したい。どうやってやるの?
質問する
39306 次
3 に答える
47
このような:
str.erase(0,10);
...
于 2012-10-02T14:28:35.170 に答える
9
使用std::string::substr
:
try {
str = str.substr(10);
} catch (std::out_of_range&) {
//oops str is too short!!!
}
于 2012-10-02T14:32:43.560 に答える
1
ここには表示されていないコードが他にもあると思われますが、問題が発生している可能性があります。
このコードは問題なく機能します。
#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;
}
そうは言っても、他の人が述べているように、これを行うにはもっと短い方法があります。
于 2012-10-02T14:40:52.423 に答える