我正在尝试对数组执行一些操作,最终目标是进行简单的加密。但无论如何,我的数组长度为 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];
}
}
}