【发布时间】:2019-08-30 05:39:43
【问题描述】:
我不确定如何删除字符串中的单个字符,因为根据我的理解,当我使用 str.erase(x,y) 时,它会删除从“x”到“y”的所有内容。但是,我只想在“x”处删除一个字符。
我还需要对这个问题使用递归。
我需要从字符串中删除一个随机字符并输出它并一直这样做直到字符串为空。
string ObliterateString(string arg)
{
int length = arg.length();
int random = 0;
while(length > 0)
{
if(length <= 1)
{
return ObliterateString("");
}
else{
random = rand() % length; //Get a random number that is between 0 and the length of the string
arg.erase(random,random);
cout << arg << endl;
}
length--;
}
return arg;
}
【问题讨论】:
-
回答我的第一个问题,arg.erase(random,1) 确实有效。谢谢。