Witam! Przy szyfratorze plików tekstowych podczas zaszyfrowania, a potem odszyfrowania zjada mi spacje. Jak temu zaradzić? Kod:
int EncryptText()
{
string file_text; //cały tekst pliku, na który łączą się "letter"
char letter; //wczytywana litera
char file_name[256]; //ścieżka/nazwa pliku
system("CLS");
cout << "Wpisz nazwe pliku, ktory ma byc zaszyfrowany: ";
cin >> file_name;
fstream file(file_name, fstream::in);
if (!file)
{
cout << "Podany plik nie istnieje!";
cin.ignore();
cin.get();
return 1;
}
while(file >> letter) //POBIERANIE LITER Z PLIKU I SZYFROWANIE
{
if (letter == 32) continue; //dałem takie coś (32 w ASCII = spacja), myślałem, że pomoże, ale jednak to zależy od samego pobierania znaków z pliku, a nie szyfrowania.
letter += 97;
file_text += letter;
}
file.close();
file.clear();
file.open(file_name, ios::out | ios::trunc);
file << file_text;
file.close();
system("CLS");
cout << "Zaszyfrowano!";
cin.ignore();
cin.get();
}
int DecryptText()
{
string file_text;
char letter;
char file_name[256];
system("CLS");
cout << "Wpisz nazwe pliku, ktory ma byc odszyfrowany: ";
cin >> file_name;
fstream file(file_name, fstream::in);
if (!file)
{
cout << "Podany plik nie istnieje!";
cin.ignore();
cin.get();
return 1;
}
while(file >> letter) //POBIERANIE LITER Z PLIKU I DESZYFROWANIE
{
if (letter == 32) continue;
letter -= 97;
file_text += letter;
}
file.close();
file.clear();
file.open(file_name, ios::out | ios::trunc);
file << file_text;
file.close();
system("CLS");
cout << "Odszyfrowano!";
cin.ignore();
cin.get();
}