C ++字符串插入到不同的位置

时间:2015-05-18 12:49:20

标签: c++ string

我必须基本上将我用键盘输入的字符插入到按字母顺序排列的字符串中,并且该字符必须放在右边的字母位置。但我不能使用std::sort函数或任何类型的排序,因为字符串已经排序,我需要将字符直接插入正确的位置。 我做了一个for循环和一个if比较,但输入字符时出错...

for (int i = 0; i < myString.length(); i++)
{
    if (myChar < myString[i])
    {
        myString.insert(myString[i], 1, myChar);
    }

}
你可以帮我弄清楚我错过了什么吗?

我得到的错误是R6010 - 已经调用了abort()。

同样对于myString.insert(i, 1, myChar);我输入角色时没有任何反应。

编辑:我只需要添加休息时间;循环结束时的行。

for (int i = 0; i < myString.length(); i++)
{
    if (myChar < myString[i])
    {
        myString.insert(i, 1, myChar);
        break;
    }


}

1 个答案:

答案 0 :(得分:0)

插入后的循环必须在休息时终止,因为在第一次之后你的情况可能会满足很多次。

你最好附加myChar,然后使用myString。