#include
#include
using std::string;
using std::cout;
string scramble(string input, char scr){
auto pos = input.begin();
auto end = input.end();
while(pos != end)
*pos++ = *pos ^ scr;
return input;
}
int main(){
char mask = 8;
string inputString = "Simple Xstring";
string scrambled = scramble(inputString, mask);
string clear = scramble(scrambled, mask);
cout<<"Before: " <<inputString;
cout<<" After: " <<scrambled;
cout<<" Clear:"<<clear;
cout<<" ";
}
Когда компилируешь, выдает:
Before: Simple Xstring
After: aexdm(P{|zafo
Clear:mple Xstring
В последней строчке Clear должно быть написано Simple Xstring, а там две первые буквы не выводит. Не могу понять в чем дело...
#include
using std::string;
using std::cout;
string scramble(string input, char scr){
auto pos = input.begin();
auto end = input.end();
while(pos != end)
*pos++ = *pos ^ scr;
return input;
}
int main(){
char mask = 8;
string inputString = "Simple Xstring";
string scrambled = scramble(inputString, mask);
string clear = scramble(scrambled, mask);
cout<<"Before: " <<inputString;
cout<<" After: " <<scrambled;
cout<<" Clear:"<<clear;
cout<<" ";
}
Когда компилируешь, выдает:
Before: Simple Xstring
After: aexdm(P{|zafo
Clear:mple Xstring
В последней строчке Clear должно быть написано Simple Xstring, а там две первые буквы не выводит. Не могу понять в чем дело...