是否可以修改字符串输入?

时间:2017-12-19 07:10:30

标签: c++ string

我想构建一个程序来将文本保存到文件中,但我希望我的程序能够保护或加密文本内容,例如,如果用户输入" salamence"程序将输出(到文件中)" hjkjupfqp"或类似的东西,这样人们就无法读取它,除非他们可以访问程序(我希望程序能够解密文本文件)所以在c ++中可以逐个读取字符串输入字符和将它们修改为另一个字符,以及如何做到这一点?

1 个答案:

答案 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风格的字符串,但这超出了这个问题的范围。