単純な暗号化を行うことが最終的な目標である配列に対していくつかの操作を実行しようとしています。しかし、とにかく私の配列は458文字の長さで、ほとんどが文字といくつかのコンマ、ピリオドなどで構成されています。配列の最後の文字から始めて、最初の文字に移動し、配列内のすべての文字を大文字にしようとしています。最後の文字「」を正しく読み取りますが、forループの次のステップは、4文字を超えて、数文字スキップしたようなものです。制御ロジックに問題がありますか?
void EncryptMessage (ofstream& outFile, char charArray[], int length)
{
int index;
char upperCased;
char current;
for (index = length-1; index <= length; --index)
{
if (charArray[index] >= 'A' && charArray[index] <= 'Z')
{
upperCased = static_cast<char>(charArray[index]);
current = upperCased;
outFile << current;
}
else
{
charArray[index]++;
current = charArray[index];
}
}
}