cocos2dx で C++ 文字列関数を使用しています。次の文字列 CorrectAns = "below" があります。
for(int i = 0; i<CorrectAns.size();i++)
{
CorrectAns.replace(i,i,"?");
}
この関数は、文字列を "?????" として返す必要がありますが、4 文字、つまり "????" しか返しません。
このように書くと、
for(int i = 0; i<CorrectAns.size();i++)
{
if(i == 0)
{
CorrectAns.replace(i,i,"?");
}
}
クラッシュするだけです。「CorrectAns.replace(i,i+1,"?");」と書いた場合にのみ正常に動作します。
関数がこのように機能するのはなぜですか?? 誰でも私を助けてもらえますか??