Manugal
06-04-2006, 16.40.46
Ciao :)
Devo creare una funzione che riesca ad estrapolare delle informazioni da un file per metterle in una struttura chiama DBFInfo. Allora da questo file (che è stato scritto in modalità binaria) devo estrapolare l'header che è fatto così:
typedef struct{
char name[DBF_NAME_LENGTH+1];
short NumCampi;
long NumRecords;
short dimHeader;
short dimRecord;
long timestamp;
}header;
Inoltre, ho un'altra struttura che mi memorizza delle informazioni sul file aperto ed è fatta così (e anche questo dovrò inserire nella DBFInfo):
typedef struct{
FILE *fp; /* puntatore al file aperto tramite una funzione OpenFile() implementata da me
int handle; /* numero che identifica il file aperto (da 0 a 32)
char name[DBF_NAME_LENGTH+1]; /* nome del file
short currentRec; /* record corrente del file (questo per il momento non ci interessa)
}infohandle;
Infine la struttura dove devo andare a porre l'header letto dal file è la seguente:
typedef struct {
FILE *fp; //!< File pointer del database aperto
char Name[DBF_NAME_LENGTH+1]; //!< Nome del database escluso estensione
int NumFields; //!< Numero dei campi del database
long NumRecs; //!< Numero totale di records nel database
int HeaderLen; //!< Lunghezza dell'Header
int RecordLen; //!< Lunghezza di un record del database
long CurrentRec; //!< Numero del record corrente
time_t LastUpdate; //!< Data e ora ultimo aggiornamento
} DBF_INFO_t;
Non so come fare ad estrapolare i singoli campi per poi metterli nella struttura DBFInfo. Cioè se io ad esempio voglio prelevare il campo name dell'header come faccio?
Grazie.
Devo creare una funzione che riesca ad estrapolare delle informazioni da un file per metterle in una struttura chiama DBFInfo. Allora da questo file (che è stato scritto in modalità binaria) devo estrapolare l'header che è fatto così:
typedef struct{
char name[DBF_NAME_LENGTH+1];
short NumCampi;
long NumRecords;
short dimHeader;
short dimRecord;
long timestamp;
}header;
Inoltre, ho un'altra struttura che mi memorizza delle informazioni sul file aperto ed è fatta così (e anche questo dovrò inserire nella DBFInfo):
typedef struct{
FILE *fp; /* puntatore al file aperto tramite una funzione OpenFile() implementata da me
int handle; /* numero che identifica il file aperto (da 0 a 32)
char name[DBF_NAME_LENGTH+1]; /* nome del file
short currentRec; /* record corrente del file (questo per il momento non ci interessa)
}infohandle;
Infine la struttura dove devo andare a porre l'header letto dal file è la seguente:
typedef struct {
FILE *fp; //!< File pointer del database aperto
char Name[DBF_NAME_LENGTH+1]; //!< Nome del database escluso estensione
int NumFields; //!< Numero dei campi del database
long NumRecs; //!< Numero totale di records nel database
int HeaderLen; //!< Lunghezza dell'Header
int RecordLen; //!< Lunghezza di un record del database
long CurrentRec; //!< Numero del record corrente
time_t LastUpdate; //!< Data e ora ultimo aggiornamento
} DBF_INFO_t;
Non so come fare ad estrapolare i singoli campi per poi metterli nella struttura DBFInfo. Cioè se io ad esempio voglio prelevare il campo name dell'header come faccio?
Grazie.