Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako da smlatnem strukturu u neki fajl?

[es] :: C/C++ programiranje :: Kako da smlatnem strukturu u neki fajl?

[ Pregleda: 1973 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Baja_PG
Podgorica

Član broj: 10898
Poruke: 9
*.crnagora.net.



Profil

icon Kako da smlatnem strukturu u neki fajl?30.09.2004. u 04:18 - pre 216 meseci
Treba mi za Borland C++ builder! Kao shto u delphi-ju napravim neki record(ime,prezime,jmbg-tipa stringovi), i sa funkcijom write() upishem chitavi slog u neku datoteku, interesuje me sad, kako u C++ da upishem istu takvu strukturu jednom komandom u neku datoteku, i moze li to uopshte?
 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
*.nat-pool.bgd.sbb.co.yu



Profil

icon Re: Kako da smlatnem strukturu u neki fajl?30.09.2004. u 10:25 - pre 215 meseci
Moze..moze...

Code:

typedef struct tagMyStruct
{
 int a;
 float b;
 ...
} tMyStruct;

tMyStruct test;
FILE *f = fopen(filename, "wb");
if (f!=NULL)
{
 fwrite(&test, 1, sizeof(tMyStruct), f);
 fclose(f);
}



Ali pazi... ako imas pointere u struktori, sadrzaj na koji oni pokazuju NECE BITI SNIMLJEN vec ce biti snimljena vrednost pointera sto je besmisleno! U takvim situacijama moras da snimas strukturu clan po clan, a u slucaju pointera moras snimiti duzinu mem bloka i sadrzaj na koji pointer pokazuje.

yooyo
 
Odgovor na temu

Baja_PG
Podgorica

Član broj: 10898
Poruke: 9
*.crnagora.net



Profil

icon Re: Kako da smlatnem strukturu u neki fajl?30.09.2004. u 12:40 - pre 215 meseci
Predpostavljam kad chitam iz datoteke da se koristi fread? Jel ti teshko da mi napishesh za istu structuru samo kako bi se chitalo, i da mi objasnish za fwrite shto znachi ta jedinica na posle predavanja adrese strukture, i zashto je bitno da znam velichinu strukture? Malo me to buni u odnosu na jednostavnost korishcenja write() u delphi-u? Nadam se da ga ne preukomlikovah?
 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
*.nat-pool.bgd.sbb.co.yu



Profil

icon Re: Kako da smlatnem strukturu u neki fajl?30.09.2004. u 17:18 - pre 215 meseci
Pa sve pise u helpu... treba samo citati... kratko:

fread il fwrite primaju sledece parametre:
(adresa, velicina_primerka, broj_primeraka, FILE*);

Znaci, sa fread ili fwrite mozes citati/pisati po jednu strukturu (broj_primeraka=1) ili ceo
niz struktura (broj_primeraka > 1).

U prethodnom post-u sam obrnuo velicinu_primerka i broj_primeraka, ali ce program i dalje ispravno raditi.

fread/fwrite interno ce pomnoziti velicinu_primerka i broj_primeraka i tako ce izracunati ukupnu kolicinu podataka koje treba procitati ili upisati.

delphi jednostavan !? ma daj...

yooyo
 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.adsl.zonnet.nl

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: Kako da smlatnem strukturu u neki fajl?30.09.2004. u 18:56 - pre 215 meseci
Malo upozorenje: ovakvo upisivanje u datoteku ne čuva veze između objekata. Ukratko, ako u strukturi imaš pointere na nešto (recimo string, to je najčešći slučaj), kada sledeći put učitaš datoteku pointeri će biti neispravni.

Već smo imali temu u kojoj se ovo pojavljivalo. Ključna reč: serijalizacija.

f
 
Odgovor na temu

Baja_PG
Podgorica

Član broj: 10898
Poruke: 9
*.crnagora.net.



Profil

icon Re: Kako da smlatnem strukturu u neki fajl?01.10.2004. u 00:27 - pre 215 meseci
E ovo mi je trebalo, malko sam lijen da trazim po helpu jer mi engleski nije bash jacha strana, pa gubim dosta vremena i zivaca. Nisam rekao da je delphi jednostavan, samo da je jednostavniji za ovu konkretno rabotu, ali to nije tema. U svakom sluchaju puno ti hvala, pomogao si mi!
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.231.216.81.gus.vf.siwnet.net

Sajt: dejan.lekic.org


+2 Profil

icon Re: Kako da smlatnem strukturu u neki fajl?01.10.2004. u 06:24 - pre 215 meseci
Mislim da ste otisli predaleko sa upozorenjima (filmil: veze izmedju objekata - serijalizacija :) jer je ocigledno da ovo coveku treba za pravljenje proste sitne bazice sa nekim podacima... znaci za trivijalnu stvar. Kao sto je rekao na pocetku, ima jednu jedinu tabelu sa par kolona. Svaki red sadrzi informacije iz objekta koji je tipa neke strukture (pretpostavka)... recimo struct Person. E sada, jedino na sta je (prema mom misljenju) trebalo upozoriti sto vec jeste uradio yooyo je da u toj strukturi, ako zeli da stvar odradi jednostavno nema pokazivaca. Khm, kako onda da imamo stringove tu? Predlazem da malo analiziras podatke koje ces imati u fajlu i onda ces otprilike znati u kojem redu velicine su ti stringovi, onda odredi neki razumni maksimum i u strukturi umesto char* imaj char[DUZINA] ... To je sve, sa ovim na umu mozes direktno koristiti yooyo-ov predlozeni kod.
Da se razumemo ja ne kazem da filmil nije u pravu - serijalizacija je strava stvar, ali mislim da to za ovaj problem ne mora da bude pravo resenje. :)
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.et.tudelft.nl

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: Kako da smlatnem strukturu u neki fajl?01.10.2004. u 09:29 - pre 215 meseci
Citat:
Mislim da ste otisli predaleko sa upozorenjima (filmil: veze izmedju objekata - serijalizacija :) jer je ocigledno da ovo coveku treba za pravljenje
A, da, u pravu si. Umesto toga trebao sam lepo da se opkladim s tobom u masne pare :) da će sledeće pitanje da bude „a zašto mi ne snima char*. ;)

U svakom slučaju, imali smo temu o serijalizaciji, dobili nekoliko finih odgovora, od kojih može da se izabere jedan zavisno od toga šta stoji u strukturi.

f
 
Odgovor na temu

[es] :: C/C++ programiranje :: Kako da smlatnem strukturu u neki fajl?

[ Pregleda: 1973 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.