C++ “我该怎么办?”;rot-13解码“;在MFC中?
我想做一个有编码和解码功能的函数。 所以,我研究了“rot-13编码”,并这样解决了它:C++ “我该怎么办?”;rot-13解码“;在MFC中?,c++,mfc,C++,Mfc,我想做一个有编码和解码功能的函数。 所以,我研究了“rot-13编码”,并这样解决了它: char* szTemp = "Hello World"; for (int i = 0; i < strlen(szTemp); i++) { if (szTemp[i] >= 'a' && szTemp[i] <= 'm') szTemp[i] += 13; else if (szTemp[i] >= 'A' && s
char* szTemp = "Hello World";
for (int i = 0; i < strlen(szTemp); i++)
{
if (szTemp[i] >= 'a' && szTemp[i] <= 'm') szTemp[i] += 13;
else if (szTemp[i] >= 'A' && szTemp[i] <= 'M') szTemp[i] += 13;
else if (szTemp[i] >= 'n' && szTemp[i] <= 'z') szTemp[i] -= 13;
else if (szTemp[i] >= 'N' && szTemp[i] <= 'Z') szTemp[i] -= 13;
}
MessageBox(szTemp);
CString sTemp = "Hello World";
int nLength = sTemp.GetLength();
// Limit scope of szTemp since it is not usable after
// the call to ReleaseBuffer
{
char* szTemp = sTemp.GetBuffer();
for (int i = 0; i < nLength; i++)
{
if (szTemp[i] >= 'a' && szTemp[i] <= 'm') szTemp[i] += 13;
else if (szTemp[i] >= 'A' && szTemp[i] <= 'M') szTemp[i] += 13;
else if (szTemp[i] >= 'n' && szTemp[i] <= 'z') szTemp[i] -= 13;
else if (szTemp[i] >= 'N' && szTemp[i] <= 'Z') szTemp[i] -= 13;
}
sTemp.ReleaseBuffer();
}
AfxMessageBox( sTemp );
char*szTemp=“你好世界”;
对于(int i=0;i 如果在MFC中(szTemp[i]>='a'&&szTemp[i]='a'&&szTemp[i]='n'&&szTemp[i]='n'&&szTemp[i],这都是关于CString
CString sTemp = "Hello World";
CString sResult = "";
int nLength = sTemp.GetLength();
char c;
for ( int i = 0 ; i < nLength ; ++i )
{
c = sTemp[i];
if (c>= 'a' && c<= 'm') c+= 13;
else if (c>= 'A' && c<= 'M') c+= 13;
else if (c>= 'n' && c<= 'z') c-= 13;
else if (c>= 'N' && c<= 'Z') c-= 13;
sResult += c;
}
AfxMessageBox( sResult );
CString sTemp=“你好世界”;
CString sResult=“”;
int nLength=sTemp.GetLength();
字符c;
对于(int i=0;i 如果(c>='a'&&c='a'&&c='n'&&c='n'&&c='a'&&szTemp[i]='a'&&szTemp[i]='n'&&szTemp[i]='n'&&szTemp[i]您正在尝试。我会首先修复它。char szTemp[]=“你好,世界!”
char*szTemp
不是只读的。您只需确保您的写入不会超过缓冲区的大小。@DexStar它指向的内存是只读的。第一行甚至不应该按照现代标准编译,但即使在黑暗时代,尝试修改字符串文字也是不可取的。