Jak zachować białe znaki?

0

Witam! Przy szyfrowaniu tekstu różnymi sposobami w każdym ucina mi spacje. Próbowałem czytać literę po literze, wyraz po wyrazie, linijkę, a potem z linijki wyrazy, ale i tak pożera mi spacje. Jak napisać żeby spacje ew. inne białe znaki się zachowały? Kod w skrócie:

string file_text; //cały tekst np. w pliku
char letter; //wczytywana litera
while(file >> letter)
{
    letter += 97;
    file_text += letter;
}
//robiłem też "file >> word", gdzie word to string
//próbowałem także "file.getline()"
//no i wszędzie potem nie mam spacji ;/
//zapisuje do pliku tak:
file << file_text;

Prosze o pomoc.
PS: Dobrze by było, żeby spacje też szyfrował, bo takto wiadomo ile liter w wyrazie będzie. (wiem, że ta metoda szyfrowania jest do d***, ale dopiero zacząłem i na razie tyle :))

0
int letter; //koniecznie int
while((letter=file.get())!=EOF)
0

Może i zadziała, lecz ja plikiem bawię się w fstream, a nie FILE, bo getchar() chyba jest od FILE nie? Jeżeli nie ma innego sposobu przerobię na FILE, ale może jest sposób na fstream?

0

Nie zauważyłeś, że nazwa twojego fstreama to file? "file << file_text;"?

0

To co z tego, że ma nazwę file? Ale nie ma typu FILE. No to jak mam to zrobić na fstream?

0

Gdzie masz typ FILE? Bo ja jakoś nie zauważyłem.

0

Jak daję to co kolega wyżej napisał, czyli wyciąganie znaków aż do końca pliku, to wywala błąd, że ta funkcja nie jest częścią fstream... A mi się kojarzy, że patrzyłem inne szyfratory to tam było w FILE zrobione i właśnie tą metodą.

0

Dobra, myślałem że ifstream dziedziczy po iostream.... Jak dla mnie usuń char, będzie działało.

0

Plączesz się w zeznaniach kolego, w kodzie podałeś:
file>>leter - to jednoznacznie wskazuje na fstream,
więc dla tego podałem rozwiązanie z fstream.
Jak chcesz FILE to użyj fgetc();

0

Działa jak należy :) Dzięki za pomoc. A swoją drogą może znacie jakieś porządniejsze metody szyfrowania? Próbowałem kilka trudniejszych, ale błedy były ;/ Bo były trochę inaczej skonstruowane. Myślałem o tym, że szyfrowanie mogło by zależeć od np. podanego hasła, tyle, że nie wiem jak to napisać. Umiałbym od jednego znaku, ale od całego hasła to nie wiem ;/

1 użytkowników online, w tym zalogowanych: 0, gości: 1