Dopisywanie tekstu do pliku
Ostatnio zmodyfikowano 2009-02-28 14:53
Jaszczomb Temat założony przez niniejszego użytkownika |
Dopisywanie tekstu do pliku » 2009-02-28 12:29:54 Witam Wczoraj wraz z kolegą i pomocą Pana Piotra napisaliśmy program, który szyfruje podane słowo i zapisuje je do pliku szyfr.txt. Problem w tym, że przy następnym użyciu programu treść wygenerowana przez program jest nadpisywana a nie dopisywana. Analizowałem program względem treści kursu i nie wiem gdzie tkwi błąd. Oto program #include <iostream> #include <conio.h> #include "console.ddt" #include <windows.h> #include <fstream> using namespace std; using namespace ddt::console; int main() { fstream plik( "szyfry.txt", ios::out | ios::ate ); if( plik.good() ) SetConsoleTitle( "Szyfrator" ); string napis; int wybor; int wybor2; do { cout << "Chcesz zaszyfrowac[1] czy odszyfrowac[2]?" << endl; cin >> wybor; switch( wybor ) { case 1: cout << "Podaj slowo do zaszyfrowania" << endl; cin >> napis; clrscr(); for( int i = 0; i < napis.length(); i++ ) { napis[ i ] = napis[ i ] + 3; } SetConsoleTitle( "Szyfrator" ); cout << "Oto kod zaszyfrowany" << endl; cout << napis << endl; plik << "\n" << endl; plik << napis << endl; plik.flush(); break; case 2: cout << "Podaj zaszyfrowane slowo do odszyfrowania" << endl; cin >> napis; clrscr(); for( int i = 0; i < napis.length(); i++ ) { napis[ i ] = napis[ i ] - 3; } SetConsoleTitle( "Szyfrator" ); cout << "Oto odszyfrowane slowo" << endl;; cout << napis << endl; plik << "\n" << endl; plik << napis << endl; plik.flush(); break; } plik.close(); cout << "Czy chesz zaszyfrowac lub odszyfrowac inne slowo? 1= Tak 2= Nie" << endl; SetConsoleTitle( "Szyfrator" ); cin >> wybor2; } while( wybor2 < 2 ); clrscr(); cout << "+---------------------------------------------------------+" << endl; cout << "|Napisane przez Tomasza i Michala |" << endl; cout << "|Na potrzeby naukowe. Program zostal napisany w jezyku C++|" << endl; cout << "|I opiera sie na szyfrze cezara |" << endl; cout << "+---------------------------------------------------------+" << endl; SetConsoleTitle( "Szyfrator" ); getch(); return 0; }
Z góry dzięki za każdą pomoc ;] |
|
GoldWolf |
» 2009-02-28 12:46:00 fstream plik( "szyfry.txt", ios::out | ios::ate ); Na początek ios::ate ->Otwórz w podanym trybie i przejdź na koniec, spróbuj: ios::app ->Otwórz do zapisu, zapisz wyłącznie na końcu pliku |
|
Jaszczomb Temat założony przez niniejszego użytkownika |
» 2009-02-28 19:31:00 Dzięki za pomoc Panowie. Pozdrawiam. |
|
manfred |
» 2009-02-28 14:53:40 std::ofstream plik( "foo.g", std::ios_base::app ); |
|
« 1 » |