我必須將使用鍵盤輸入的字符插入到按字母順序排列的字符串中,並且該字符必須放在正確的字母位置。但我不能使用std::sort
函數或任何類型的排序,因爲字符串已經排序,我需要直接在正確的位置插入字符。 我做了一個for循環和如果來比較,但輸入字符時,我得到一個錯誤......C++在不同的位置上插入字符串
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;
}
}
如果你解釋了你遇到的錯誤,可能會有幫助 –
[此插入引用](http://en.cppreference.com/w/cpp/string/basic_string/insert)可能會幫助你。或者,真的,*任何*種參考或文檔。 –
您正在使用'myString [i]'作爲索引。 – molbdnilo