Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zapisanie tekstu do pliku jako wartość binarna

Ostatnio zmodyfikowano 2013-03-02 15:48
Autor Wiadomość
Unlimited
Temat założony przez niniejszego użytkownika
Zapisanie tekstu do pliku jako wartość binarna
» 2013-03-02 15:08:55
Witam. Mam problem z zapisaniem do pliku tekstu podawanego w programie jako wartości binarne. Problem leży w tym, że tworzę plik binarny (.bin) nadaje mu argumenty
ios::binary | ios::app | ios::out
, a po wykonaniu operacji otwierając plik binarny (.bin) notepadem++ bądź notatnikiem widzę tekst podany w programie zamiast ciągu zer i jedynek :/

Mój kod:
C/C++
void dodaj( uczniowie uczen, bool sprawdz, string odnosnik, fstream & plik, int & lp ) //dodawanie ucznia
{
    plik.open( odnosnik.c_str(), ios::binary | ios::app | ios::out );
    sprawdz = plik.good();
    plik.close();
    if( sprawdz == true )
    {
        clear();
        cout << "Podaj imie: ";
        getline( cin, uczen.imie );
        cout << "Podaj nazwisko: ";
        getline( cin, uczen.nazwisko );
        cout << "Podaj miejscowosc: ";
        getline( cin, uczen.miejscowosc );
        cout << "Podaj kod pocztowy: ";
        getline( cin, uczen.kod );
        cout << "Podaj ulice: ";
        getline( cin, uczen.ulica );
        cout << "Podaj wiek: ";
        cin >> uczen.wiek;
        cout << "Podaj numer domu: ";
        cin >> uczen.numer;
       
        plik.open( odnosnik.c_str(), ios::binary | ios::app | ios::out );
        plik << lp << ". Imie: " << uczen.imie << endl;
        plik << "   Nazwisko: " << uczen.nazwisko << endl;
        plik << "   Miejscowosc: " << uczen.miejscowosc << endl;
        plik << "   Kod pocztowy: " << uczen.kod << endl;
        plik << "   Ulica: " << uczen.ulica << endl;
        plik << "   Wiek: " << uczen.wiek << endl;
        plik << "   Numer domu: " << uczen.numer << endl << endl;
        plik.close();
        lp++;
        cout << "\nDane zostaly zapisane pomyslnie!" << endl << endl;
    }
    else
    {
        cout << "Error! Nie udalo sie otworzyc pliku!" << endl << endl;
        cout << "Mozliwe bledy:" << endl;
        cout << "  - odnosnik do pliku nie zostal podany" << endl;
        cout << "  - odnosnik do pliku jest nieprawidlowy" << endl;
        cout << "  - brak odpowiednich uprawnien w systemie" << endl << endl;
    }
    system( "pause" );
}
P-77467
pekfos
» 2013-03-02 15:10:31
zamiast ciągu zer i jedynek
Nie na tym polega zapis binarny..
P-77468
Unlimited
Temat założony przez niniejszego użytkownika
» 2013-03-02 15:11:39
To widocznie żyję w jakiejś niewiedzy O_o
Jak tego dokonać?
P-77469
pekfos
» 2013-03-02 15:15:35
Zapisu w postaci zer i jedynek?
Każdy znak zapisuj do pliku jako 8 cyfr.
P-77471
Unlimited
Temat założony przez niniejszego użytkownika
» 2013-03-02 15:18:15
Hmm. No dobra a może ktoś wytłumaczyć czym się różni zapis binarny od zwykłego? Przecież w środku pliku i tak jest to samo.
P-77474
pekfos
» 2013-03-02 15:39:36
Zapis i odczyt binarny operuje na surowych danych. Różnice widać np zapisując znak '\n'.
P-77479
Unlimited
Temat założony przez niniejszego użytkownika
» 2013-03-02 15:48:26
Dzięki za wyjaśnienie i pomoc. Do zamknięcia
P-77482
« 1 »
  Strona 1 z 1