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

Pliki binarne - podstawy

Ostatnio zmodyfikowano 2013-08-04 16:28
Autor Wiadomość
Farsz
Temat założony przez niniejszego użytkownika
Pliki binarne - podstawy
» 2013-08-04 14:48:41
Witajcie. Jestem zasadniczo nowy w c++ (kurs odbyłem i trochę sfmla liznąłem) i nigdzie nie mogę znaleźć jasnej i prostej informacji o zapisie i odczytywaniu plików binarnych. Mógłby ktoś to zagadnienie podać na dłoni? Z góry dziękuję.

Tak, przeglądałem internet, ale mój brak doświadczenia nie pozwala na zrozumienie znalezisk ;)
P-89462
pekfos
» 2013-08-04 14:52:54
Czego nie wiesz, nie rozumiesz?
P-89463
Farsz
Temat założony przez niniejszego użytkownika
» 2013-08-04 15:09:14
Tak po prawdzie to niczego w tym temacie :/
Dopisuję ios::binary i pobieram/zapisuję dane blokami i co innego mi wczytuje niż zapisałem. Pewnie robię coś głupiego. Jak byłbyś tak dobry i napisałbyś kawałek poprawnego kodu to byłbym wdzięczny.
P-89465
Monika90
» 2013-08-04 15:12:48
Pokaż możliwie krótki fragment kodu, który demonstruje problem, a my powiemy Ci co robisz źle.
P-89466
Farsz
Temat założony przez niniejszego użytkownika
» 2013-08-04 15:34:55
Zapis
C/C++
int main()
{
    std::fstream plik( "plik.bin", std::ios::out | std::ios::binary );
    char * ch = "16";
    plik.write( ch, 1 );
    plik.close();
    return 0;
}

I wczytanie
C/C++
int main()
{
    std::fstream plik( "plik.bin", std::ios::in | std::ios::binary );
    char ch;
    plik.read( & ch, 1 );
    plik.close();
    std::cout << ch;
    return 0;
}

Udało mi się osiągnąć więcej niż do tej pory, bo chociaż pierwszą cyfrę liczby wczytuje :D
Sory za słabą organizację tematu, ale to mój pierwszy ;)
P-89469
pekfos
» 2013-08-04 15:37:59
Nie o to chodzi w binarnym zapisie i odczycie liczb. Drugi argument write() i read() określa ile bajtów chcesz zapisać/odczytać.
P-89470
Farsz
Temat założony przez niniejszego użytkownika
» 2013-08-04 15:50:49
Wiem o drugim argumencie. Nie sądzę, żeby "16" miało więcej niż jednego bajta ;)
Z twojego stylu pisania wnioskuję, że czegoś oczywistego nie rozumiem. Napisz proszę, na czym polega mój błąd w rozumowaniu.
P-89471
skovv
» 2013-08-04 15:51:05
Hmm.. Czyli:


char * ch = "16";
plik.write( ch, sizeof(ch) );
?
P-89472
« 1 » 2
  Strona 1 z 2 Następna strona