[c++] Szyfrowanie pliku tekstowego i znak końca lini
Ostatnio zmodyfikowano 2014-11-25 15:51
marianekA Temat założony przez niniejszego użytkownika |
[c++] Szyfrowanie pliku tekstowego i znak końca lini » 2014-11-25 15:17:53 Mam plik tekstowy "a.txt" o zawartości trzech linii powiedzmy: Jan Kowalski Stefek Burczymucha Monika córka ratownika
|
Zaszyfrowuję to zwykłym przesunięciem ASCII. Wszystko jest OK ale po rozszyfrowaniu i zapisaniu pliku zamiast w trzech mam wszystko w jednej linii: Jan KowalskiStefek BurczymuchaMonika córka ratownika |
a robię to tak: #include <iostream> #include <string> #include <fstream> #include <cstdlib> using namespace std;
int main() { int a = 0; string nd[ 99 ]; string data; fstream plik; plik.open( "a.txt", ios::in ); while( !plik.eof() ) { getline( plik, data ); nd[ a ] = data; ++a; } plik.close(); plik.open( "b.txt", ios::out ); for( int i = 0; i < a; ++i ) for( int d = 0; d < nd[ i ].size(); ++d ) plik << char( nd[ i ][ d ] + 3 ); plik.close(); plik.open( "b.txt", ios::in ); while( !plik.eof() ) getline( plik, data ); plik.close(); plik.open( "c.txt", ios::out ); for( int i = 0; i < data.size(); ++i ) plik << char( data[ i ] - 3 ); plik.close(); return 0; }
Wiem że getline() nie zapisuje końca linii ale jak zrobić bym to miał? z góry dziękuję za radę. |
|
1aam2am1 |
» 2014-11-25 15:33:07 for( int i = 0; i < a; ++i ) { for( int d = 0; d < nd[ i ].size(); ++d ) { plik << char( nd[ i ][ d ] + 3 ); } plik << "/n"; }
|
|
marianekA Temat założony przez niniejszego użytkownika |
» 2014-11-25 15:45:25 ... i jak zwykle najtrudniejsze są rzeczy proste. Dawno tego nie używałem i zaraz wypróbuję. |
|
marianekA Temat założony przez niniejszego użytkownika |
» 2014-11-25 15:51:27 Problem rozwiązany dzięki 1aam2am1 |
|
« 1 » |