Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
salve a tutti vi scrivo oggi perchè ho un problema veramente strano a cui non riesco proprio risolvere.
sto studiando c++ per un esame, non è il linguaggio che uso di solito ma non ho avuto grandi problemi.
il fatto è questo...devo leggere un file .txt "criptarlo" tramite una matrice e scriverlo in un altro .txt poi infine visualizzarli entrambi a schermo...un gioco da ragazzi direte voi, così pensavo anche io.
scrivo il programma, l'algoritmo nel complesso funziona quando per caso noto che nel testo criptato c'erano 2 lettere in più; a questo punto faccio andare istruzione per istruzione una alla volta e vedo che quando vado a leggere carattere per carattere con questa funzione :
Codice sorgente - presumibilmente C/C++
char a;
fstream stampa;
stampa.open(nome, ios::in);
while(!stampa.eof())
{
stampa.get(a);
cout << a;
}
cout << endl;
stampa.close();
guardando lo stream alla fine del file c'è un doppione dell'ultima lettera e quindi quando va a criptare aggiunge una lettera e quando lo visualizza ne aggiunge un altra.
non vedo nulla di strano nella funzione che ho scritto però ho notato che se metto semplicemente stampa >> a, non lo stampa (nello stream c'è lo stesso però è come se non lo contasse), però visto che >> ignora gli spazi ho dovuto usare la get
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.