C++ 简单加密和解密TXT文件[C+;+;]

C++ 简单加密和解密TXT文件[C+;+;],c++,C++,所以我试图通过改变字符来创建某种加密和解密文本。 这是我的密码: string row; string fileName = "NULL"; const string encrypt[63] = { "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z", "A","B","C","D","E",

所以我试图通过改变字符来创建某种加密和解密文本。 这是我的密码:

string row;
string fileName = "NULL";

const string encrypt[63] = { "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",
                        "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
                        "0","1","2","3","4","5","6","7","8","9" " " };
const string decrypt[63] = { "!","@","#","$","%","^","&","*","(",")","_","-","|","~","`",":", "/", "<", ">", ".",
                        "q","w","e","r","t","y","u","i","o","p","a","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m",
                        "Q","W","E","R","T","Y","U","I","O","P","A","S","D","F","G","H","J" };

printf("Would you like to read or write file ?");
cin >> row;

printf("What the Name of the File?");
cin >> fileName;

if (row._Equal("write") || row._Equal("Write"))
{
    ofstream file(fileName + ".txt");
    string text;

    if (file.is_open())
    {
        printf("What Text You Like To Encrypt?");
        cin.ignore();
        getline(cin, text);

        string nText;

        for (size_t i = 0; i < text.length(); i++)
        {
            int num = NULL;
            num = text.find(text.find(encrypt[i]));
            if (num != NULL) {
                nText.append(decrypt[num]);
            }
            num = NULL;
        }

        file << nText;
        file.close();
    }
}

else if (row._Equal("read") || row._Equal("Read"))
{
    string text;
    ifstream file(fileName + ".txt");

    if (file.is_open())
    {
        string nText;

        while (getline(file, text))
        {
            for (size_t i = 0; i < text.length(); i++)
            {
                //Almost Same with Encrypt.
            }
        }

        printf("\nDecrypted File: %s \n", text.c_str());

        file.close();
    }

}
字符串行;
字符串fileName=“NULL”;
常量字符串加密[63]={“a”、“b”、“c”、“d”、“e”、“f”、“g”、“h”、“i”、“j”、“k”、“l”、“m”、“n”、“o”、“p”、“q”、“r”、“s”、“t”、“u”、“v”、“w”、“x”、“y”、“z”,
“A”,“B”,“C”,“D”,“E”,“F”,“G”,“H”,“I”,“J”,“K”,“L”,“M”,“N”,“O”,“P”,“Q”,“R”,“S”,“T”,“U”,“V”,“W”,“X”,“Y”,“Z”,
"0","1","2","3","4","5","6","7","8","9" " " };
常量字符串解密[63]={“!”、“@”、“#”、“$”、“%”、“^”、“&”、“*”、“(”、”、“-”、“|”、“~”、“`、“:”、“/”、“、”、“,”,
“q”,“w”,“e”,“r”,“t”,“y”,“u”,“i”,“o”,“p”,“a”,“s”,“d”,“f”,“g”,“h”,“j”,“k”,“l”,“z”,“x”,“c”,“v”,“b”,“n”,“m”,
“Q”、“W”、“E”、“R”、“T”、“Y”、“U”、“I”、“O”、“P”、“A”、“S”、“D”、“F”、“G”、“H”、“J”};
printf(“您想读还是写文件?”);
cin>>世界其他地区;
printf(“文件名是什么?”);
cin>>文件名;
如果(行等于(“写”)| |行等于(“写”))
{
流文件(文件名+“.txt”);
字符串文本;
if(file.is_open())
{
printf(“您想要加密什么文本?”);
cin.ignore();
getline(cin,text);
字符串文本;
对于(size_t i=0;i文件我已设法使其工作如下:

        for (size_t i = 0; i <= text.length(); i++)
        {
                for (int j = 0; j <= 63; j++)
                {
                    if (text[i] == encrypt[j])
                    {
                        nText += decrypt[j];
                    }
                }
        }

for(size\u t i=0;i等于
std::string
的成员?不要对数字使用
NULL
。在“成功”时打印
num
的值不要使用内部实现函数,如
\u Equal
。使用
==
。您需要使用调试器并逐步完成代码