删除指定位置的字符

时间:2019-11-03 17:38:31

标签: c++ string erase

我无法编写代码来删除字符。删除范围由用户指示。
示例: 世界,您好!位置 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;

1 个答案:

答案 0 :(得分:-1)

erase的第一个参数是要删除的第一个字符的(从0开始)索引。您为其提供了要删除的最后一个字符的基于 1的索引。

纠正:

str.erase(m-1, n-m + 1);