Mam problem otoz, chcialbym zapisac stringa w trybie binarnym do pliku
i przyznam sie szczerze, ze nie wiem jak to zrobic, napisalem taka oto
funkcje ale niestety nie dziala:
void zapisz(samochod sm){
ofstream plik;
plik.open("dane.bin", ofstream::binary);
if(!plik){cout<<"Nie moge zapisac pliku"<<endl;}
else{
string txt ="cos";
plik.write(txt,30);
plik.close();
}
}
Czy ktos mi moze powiedziec gdzie tkwi blad ?
operacje otwarcia pliku mozesz wykonac od razu w konstruktorze
> if(!plik){cout<<"Nie moge zapisac pliku"<<endl;}
> else{
> string txt ="cos";
> plik.write(txt,30);
write bierze (const char*) -> ze stringa dostaniesz (const char *)
uzywajac na nim c_str()
> plik.close();
plik zamknie się sam (:
> }
> }
>
> Czy ktos mi moze powiedziec gdzie tkwi blad ?
no (:
> napisalem taka oto funkcje ale niestety nie dziala:
Co to znaczy nie działa?
http://pl.cpp.wikia.com/wiki/FAQ#Zadawanie_pyta.C5.84_na_grupie
Pozdrawiam
--
Tomek 'QsoRiX' Rydzyński Linux Registered User #178082
Po pierwsze, należy działać perfekcyjnie.
a zalozmy ze mam taka strukture:
struct samochod{
string marka;
string model;
int rocznik;
string kolor;
};
czy to da sie jakos binarnie zapisac do pliku ?
Gdybym to zrobil na charah to bym zapisal tak:
plik.write((char *) &st,sizeof(samochod));
> struct samochod{
> string marka;
> string model;
> int rocznik;
> string kolor;
> };
>
> czy to da sie jakos binarnie zapisac do pliku ?
W jakim formacie ma to się znaleźć w pliku? Jak ma być zapisana długość
stringów bądź jak powinna być wydzielona zawartość każdego stringa?
W C++ nie ma mechanizmu, który by to zaprojektował automatycznie na
podstawie typu.
--
__("< Marcin Kowalczyk
\__/ qrc...@knm.org.pl
^^ http://qrnik.knm.org.pl/~qrczak/