String 加密函数并没有输出它应该输出的字符串

String 加密函数并没有输出它应该输出的字符串,string,inputstream,outputstream,String,Inputstream,Outputstream,此函数接受字符串作为参数,然后对数字进行加密,并将加密后的字符串写入文件。eText基本上似乎没有从函数中得到任何东西,我不知道为什么 功能定义: string Encipherer::encipherer(string plainMessage){ int i = plainMessage.length(); string eMessage; cout << i << endl; for(i = 0; i >= plainMe

此函数接受字符串作为参数,然后对数字进行加密,并将加密后的字符串写入文件。eText基本上似乎没有从函数中得到任何东西,我不知道为什么

功能定义:

string Encipherer::encipherer(string plainMessage){

    int i = plainMessage.length();
    string eMessage;

    cout << i << endl;

    for(i = 0; i >= plainMessage.length(); i++){
            if(plainMessage[i] >= 65 && plainMessage[i] <= 90){
                    if(plainMessage[i] + shift > 90){
                            eMessage[i] += plainMessage[i] - 26 + shift;
                    }

                    else{
                            eMessage += plainMessage[i] + shift;
                    }
            }

            else if(plainMessage[i] >= 97 && plainMessage[i] <= 122){
                    if(plainMessage[i] + shift > 122){
                            eMessage[i] += plainMessage[i] - 26 + shift;
                    }
                    else{
                            eMessage += plainMessage[i] + shift;
                    }
            }
}

            else{
                    eMessage += plainMessage[i];
            }

}
return eMessage;
}
字符串加密器::加密器(字符串明文消息){
int i=plainMessage.length();
串消息;
cout=65&&plainMessage[i]90){
e消息[i]+=明文消息[i]-26+移位;
}
否则{
e消息+=明文信息[i]+移位;
}
}
else if(明文[i]>=97和明文[i]122){
e消息[i]+=明文消息[i]-26+移位;
}
否则{
e消息+=明文信息[i]+移位;
}
}
}
否则{
eMessage+=明文信息[i];
}
}
返回消息;
}
主要功能:

int main(){

string plainMessage, eText;
string fileName = "inputText.txt";
ofstream outputText;
        outputText.open ("outputText.txt");

Encipherer E(5);

plainMessage = E.encipherFromFile(fileName);

eText = E.encipherer(plainMessage);

outputText << eText;

outputText.close();


return 0;
}
intmain(){
字符串明文,eText;
字符串fileName=“inputText.txt”;
流输出文本;
outputText.open(“outputText.txt”);
加密器E(5);
plainMessage=E.encipherFromFile(文件名);
eText=E.加密程序(明文);

Encipherer::Encipherer

for(i = 0; i >= plainMessage.length(); i++){
应该是

for(i = 0; i < plainMessage.length(); i++){
应该成为

                    eMessage += plainMessage[i] - 26 + shift;

shift
是在其他地方定义的吗?如果代码复制正确,在最后一个
else
之前似乎有一个
}
不应该在那里。

谢谢Tomcaa。现在可以用了!!
                    eMessage += plainMessage[i] - 26 + shift;