我想构建一个程序来将文本保存到文件中,但我希望我的程序能够保护或加密文本内容,例如,如果用户输入" salamence"程序将输出(到文件中)" hjkjupfqp"或类似的东西,这样人们就无法读取它,除非他们可以访问程序(我希望程序能够解密文本文件)所以在c ++中可以逐个读取字符串输入字符和将它们修改为另一个字符,以及如何做到这一点?
答案 0 :(得分:-1)
字符串是放在容器中的一系列字符,其中包含其他内容。可以通过[]
运算符访问字符本身。 char基本上是一个可以显示的8位整数。可以算术地操纵整数(+
,-
,*
,...),按位(&
,^
,{{1} },|
,...)等。
所以你可以这样做:
<<
这将变成&#34; abc&#34;进入&#34; bcd&#34;,这是一种相当愚蠢的加密形式,但它证明了这一概念。
要解密,您需要复制循环,但将#include <iostream>
#include <string>
using namespace std; //bad idea, but simplifies stuff
int main(){
string s;
cin>>s; //reads the string
for(int i=0;i < s.size;i++){ //loops through all characters of the string
s[i]++; //adds one to the string
}
cout<<s; //outputs the modified string
}
替换为s[i]++
。
由于你似乎是一个初学者,我实际上建议使用c风格的字符串,但这超出了这个问题的范围。