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

Snimanje proizvoljnog STRUCT-a u BBC++????

[es] :: C/C++ programiranje :: Snimanje proizvoljnog STRUCT-a u BBC++????

[ Pregleda: 2371 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vortex77

Član broj: 91694
Poruke: 124
*.smin.sezampro.yu.



+1 Profil

icon Snimanje proizvoljnog STRUCT-a u BBC++????11.06.2006. u 22:00 - pre 217 meseci
Kako da snimim fajl sa proizvoljnom strukturom?
U Delfiju je to omoguceno sa "file of", ali kako to da obavim u C++? Potrebno mi je da proizvoljnu strukturu snimim kao takvu u fajl.
Pregledao sam nekoliko tema ali nisam nasao ni jedno resenje.....

Evo kako izgleda struktura:
Code:

typedef struct {
      TColor oPColor, oBColor;      
      TPenMode  oPMode;             
      int oWidth;                   
      AnsiString ime;               
      TPenStyle oPStile;             
      TBrushStyle oBStile;
      bool oFill;                   
      int oNKoord;                  
      int oType;                     
      int StartX,StartY,
          EndX,EndY, RoundX, RoundY; 
}Box;

 
Odgovor na temu

Goran Arandjelovic
Beograd

Član broj: 29116
Poruke: 387
*.verat.net.



+9 Profil

icon Re: Snimanje proizvoljnog STRUCT-a u BBC++????12.06.2006. u 01:52 - pre 217 meseci
Recimo ovako...

Code:

/* NETESTIRANO */
#include <iostream>
#include <fstream>
using namespace std;

int main(int argc, char *argv[])
{
  Box mybox;
  Box mynewbox;
  fstream out,in;

  out.open("izlaz.out",ios::out|ios::binary);
  out.write((char*)&mybox, sizeof(Box));
  out.close();

  in.open("izlaz.out",ios::in|ios::binary);
  in.read((char*)&mynewbox, sizeof(Box));
  in.close();

  /* mynewbox i mybox bi ovde trebalo da budu identični */

  return(0);
}


Nadam se da je kod jasan... Proveri ga, pošto ja nisam.
 
Odgovor na temu

NastyBoy
Bojan Nastic
UK

Član broj: 12041
Poruke: 895
*.dsl.pipex.com.



+4 Profil

icon Re: Snimanje proizvoljnog STRUCT-a u BBC++????12.06.2006. u 13:09 - pre 217 meseci
Takav pristup nece raiti u ovom sluchaju, jer chlanovi strukture nisu POD.

C++Builder ima metode za serijalizaciju svojih klasa, pogledaj u helpu.
 
Odgovor na temu

Goran Arandjelovic
Beograd

Član broj: 29116
Poruke: 387
*.verat.net.



+9 Profil

icon Re: Snimanje proizvoljnog STRUCT-a u BBC++????12.06.2006. u 21:06 - pre 217 meseci
Pretpostavio sam da neće moći zbog toga.
Možeš li da objasniš u čemu se razlikuju objekti (članovi) koji nisu POD od onih koji to jesu?
Da li zbog toga što non-POD objekti nisu kontinualni u memoriji? Ali u okviru prvog pitanja uzmi u obzir da taj objekat ne sadrži bilo kakve pointere.
---
Pretpostavljam da u BCB-u postoji neka posebna Stream klasa koja može uraditi željenu stvar...
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Snimanje proizvoljnog STRUCT-a u BBC++????12.06.2006. u 21:29 - pre 217 meseci
Kod BCB-a postoje potpuno zasebne komponente za serijalizaciju i ne postoji nikakav
automatizam, kao kod .NET-a.

Cak i 'prostije' strukture podataka tipa TFont u BCB-u nije lako zasigurno snimiti jednim
potezom. Ne znam zbog cega je to tako (potrudicu se da saznam), ali moguce da je to
povezano sa Object Pascalom na kome je uradjem VCL.

Ono sto znam je da i 'profesionalci' za BCB, kada je u pitanju stream-ovanje podataka,
koriste parcijalna resenja (za svaki tip podataka posebno) tipa:
http://tinyurl.com/rn3ub
 
Odgovor na temu

[es] :: C/C++ programiranje :: Snimanje proizvoljnog STRUCT-a u BBC++????

[ Pregleda: 2371 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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