required.close();
destined.close();
}
该程序应该要求用户输入文件名和输出文件名。输入文件名应该有一条加密或解密的消息,具体取决于用户的选择。该程序应该有3个函数,一个用于检查文件的存在,一个用于加密/解密每个字符,另一个用于加密/解密整个文件。
答案 0 :(得分:1)
有一些错误和一些改变的事情:
encChar
函数中这是错误的:if (flag = true)
。您应该使用比较运算符(==
):
`if (flag == true)`
有人更喜欢这种形式(交换比较术语):
`if (true == flag)`
因为检测到错误的作业。
encFile
函数中的:
ofstream destined(outFile.c_str());
启用警告是个好主意(例如,使用GCC / CLANG使用-Wansi -Wall -Wextra
),以便检测未使用的变量/参数(在您的情况下为string outFile
输入参数)。
注意Simple的建议(尝试使用绝对路径。它可能与您的程序有不同的工作目录与您期望的相关)并且您的程序应该有效。
您可以通过其他一些更改来改进代码:
将变量放在尽可能最窄的范围内,并在声明中初始化变量,例如
ifstream required;
required.open(inFile.c_str());
应该是
ifstream required(inFile.c_str());
(并在使用流之前检查错误)。
using namespace std
is considered a bad practice。
编码样式和格式非常随意,但如果您始终使用相同的样式,则代码更容易理解。