我想构建一个程序来保存文本到文件,但我希望我的程序保护或加密文本的内容,例如,如果用户输入“salamence”到程序,程序将输出(到文件中) “hjkjupfqp”或类似的东西,所以人们无法读取它,除非他们可以访问程序(我希望程序也能够解密文本文件)所以在c ++中可以逐个读取字符串输入字符并将它们修改为另一个字符,以及如何做到这一点?
字符串是放在容器中的字符序列,其中包含其他内容。字符本身可以通过[]
运算符访问。 char基本上是一个可以显示的8位整数。一个整数可以算术运算(+
,-
,*
,...),bit-wise(&
,^
,|
,<<
,...)等。
所以你可以这样做:
#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
}
这将把“abc”变成“bcd”,这是一种相当愚蠢的加密形式,但它证明了这个概念。
要解密,您需要复制循环,但用s[i]++
替换s[i]--
。
既然你似乎是初学者,我实际上建议使用c风格的字符串,但这超出了这个问题的范围。