Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[C++] Zapisywanie stringa w trybie binarnym do pliku

0 views
Skip to first unread message

k4

unread,
Mar 24, 2007, 7:43:50 PM3/24/07
to
Witam

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 ?

Kyle

unread,
Mar 24, 2007, 7:51:39 PM3/24/07
to
k4 napisał(a):

> Witam
>
> 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);

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 (:

Tomek Rydzyński

unread,
Mar 24, 2007, 7:49:25 PM3/24/07
to
Dnia Sun, 25 Mar 2007 00:43:50 +0100, k4 napisał(a):

> 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.

k4

unread,
Mar 25, 2007, 2:59:27 PM3/25/07
to
Kyle napisał(a):

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));

Marcin 'Qrczak' Kowalczyk

unread,
Mar 25, 2007, 3:30:21 PM3/25/07
to
Dnia 25-03-2007, nie o godzinie 20:59 +0200, k4 napisał(a):

> 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/

0 new messages