Доброго времени суток!
Очень нужна помощь. Пытаюсь сделать что-то вроде этого:
Программа парсит в 8 переменных 8 строк из файла, зашифровывает их, записывает в дугой файл, парсит и расшифровывает уже из второго файла и выводит.
Ничего не выходит, работает каждый раз не так, как надо.
Получаю строки так:
void getData() {
std::ifstream file("fileone.txt");
std::getline(file, str1);
std::cout << str1 << std::endl;
std::getline(file, str2);
std::cout << str2 << std::endl;
std::getline(file, str3);
std::cout << str3 << std::endl;
std::getline(file, str4);
std::cout << str4 << std::endl;
std::getline(file, str5);
std::cout << str5 << std::endl;
std::getline(file, str6);
std::cout << str6 << std::endl;
std::getline(file, str7);
std::cout << str7 << std::endl;
std::getline(file, str8);
std::cout << str8 << std::endl;
file.close();
}
Далее шифр
std::string encryptDecrypt(std::string toEncrypt) {
char key[3] = { 'E', 'B', 'A' }; //Any chars will work, in an array of any size
std::string output = toEncrypt;
//std::cout << toEncrypt;
for (int i = 0; i < toEncrypt.size(); i++)
output[i] = toEncrypt[i] ^ key[i % (sizeof(key) / sizeof(char))];
//std::cout << output;
return output;
}
Пишу в файл вот так
void writeFile() {
std::ofstream out("filesecond.txt", std::ios_base::trunc);
out << encryptDecrypt(str1) + "\n" + encryptDecrypt(str2) + "\n" + encryptDecrypt(str3) + "\n" + encryptDecrypt(str4) + "\n" + encryptDecrypt(str5)
+ "\n" + encryptDecrypt(str6) + "\n" + encryptDecrypt(str7) + "\n" + encryptDecrypt(str8);
/*<< std::endl;
out << encryptDecrypt(str2) << std::endl;
out << encryptDecrypt(str3) << std::endl;
out << encryptDecrypt(str4) << std::endl;
out << encryptDecrypt(str5) << std::endl;
out << encryptDecrypt(str6) << std::endl;
out << encryptDecrypt(str7) << std::endl;
out << encryptDecrypt(str8) << std::endl;*/
out.close();
Sleep(300);
}
И получаю из нового файла
void getData2() {
std::ifstream file("filesecond.txt");
std::getline(file, str1);
std::cout << str1 << std::endl;
std::getline(file, str2);
std::cout << str2 << std::endl;
std::getline(file, str3);
std::cout << str3 << std::endl;
std::getline(file, str4);
std::cout << str4 << std::endl;
std::getline(file, str5);
std::cout << str5 << std::endl;
std::getline(file, str6);
std::cout << str6 << std::endl;
std::getline(file, str7);
std::cout << str7 << std::endl;
std::getline(file, str8);
std::cout << str8 << std::endl;
file.close();
}
Пожалуйста, исправьте меня, я уже и не знаю, куда копать(