我无法编写代码来删除字符。删除范围由用户指示。
示例:
世界,您好!位置 6,7 。结果- HelloWorld!
代码问题:结果:您好,rld!
str.erase(n,n-m + 1);
int m = 0, n = 0;
string str;
cout << "Please, enter a string: ";
getline(cin, str);
cout << "Please, enter a value of start and end positions: ";
cin >> m >> n;
str.erase(n, n-m + 1);
cout << "Result: " << str << endl;
system("PAUSE");
return EXIT_SUCCESS;
答案 0 :(得分:-1)
erase
的第一个参数是要删除的第一个字符的(从0开始)索引。您为其提供了要删除的最后一个字符的基于 1的索引。
纠正:
str.erase(m-1, n-m + 1);