Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ “我该怎么办?”;rot-13解码“;在MFC中?_C++_Mfc - Fatal编程技术网

C++ “我该怎么办?”;rot-13解码“;在MFC中?

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

我想做一个有编码和解码功能的函数。 所以,我研究了“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' && 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它指向的内存是只读的。第一行甚至不应该按照现代标准编译,但即使在黑暗时代,尝试修改字符串文字也是不可取的。