• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

wskaźnik do zapisu w pliku binarnym c++

VPS Starter Arubacloud
0 głosów
366 wizyt
pytanie zadane 9 lutego 2020 w C i C++ przez Konrad Gałach Użytkownik (880 p.)

Witam, próbuje ustawić wskaźnik do zapisu, ale mi nie wychodzi (albo znak zostaje zapisany, ale na końcu pliku, albo i poprzednie znaki zamieniają się w krzaki). Zgodnie z moimi oczekiwaniami znak powinien bez problemu zapisywać się za trzecim znakiem.

 

fstream plik;
    int wsk_do_zapisu=3;
    plik.open("baza.dat",ios::out|ios::binary|ios::app);

    plik.seekp(wsk_do_zapisu,ios::beg);
    char znak='H';
    plik.write((char*)&znak,sizeof(znak));
    plik.close();

plik przed: 12345

plik po: 12345H 

zamiast: 123H45

Z góry dziękuję za pomoc.

1 odpowiedź

0 głosów
odpowiedź 9 lutego 2020 przez tangarr Mędrzec (155,140 p.)
wybrane 10 lutego 2020 przez Konrad Gałach
 
Najlepsza

Użyj trybu

std::fstream::in | std::fstream::out |  ios::binary 

 

komentarz 10 lutego 2020 przez Konrad Gałach Użytkownik (880 p.)
Dzięki za pomoc, ale czy da się w ten sposób dopisywać znaki w tym miejscu pliku bez użycia bufora (pliku).

plik: 123H45

Podobne pytania

0 głosów
1 odpowiedź 201 wizyt
pytanie zadane 6 listopada 2020 w C i C++ przez HydeFromT70s Nowicjusz (170 p.)
0 głosów
1 odpowiedź 798 wizyt
0 głosów
1 odpowiedź 559 wizyt
pytanie zadane 2 grudnia 2018 w C i C++ przez MAXIM7 Obywatel (1,990 p.)

93,025 zapytań

141,990 odpowiedzi

321,293 komentarzy

62,374 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...