我有这个功能。它的目标是取数组的最后一个字符,如果是字母则大写。如果它是返回键(ASCII 值 10 )或空行,也将其打印出来。所有其他字符,不要打印。注意我的 sentinel_value = 10。除了我的 else 语句外,它工作正常。它没有打印返回键。输出全部在一行上。有什么建议么?
void EncryptMessage (ofstream& outFile, char charArray[], int length)
{
int index;
int asciiValue;
int asciiValue2;
char upperCased;
char finalChar;
for (index = length-1; index >= 0 ; --index)
{
upperCased = static_cast<char>(toupper(charArray[index]));
if (upperCased >= 'A' && upperCased <= 'Z')
{
asciiValue = static_cast<int>(upperCased) - 10;
finalChar = static_cast<char>(asciiValue);
outFile << finalChar;
}
else
{
asciiValue2 = static_cast<int>(charArray[index]);
if (asciiValue2 == SENTINEL_VALUE)
{
outFile << asciiValue2;
}
}
}
}