ticalimero
Messages postés6Date d'inscriptionjeudi 26 février 2004StatutMembreDernière intervention26 février 2004
-
26 févr. 2004 à 10:19
ticalimero
Messages postés6Date d'inscriptionjeudi 26 février 2004StatutMembreDernière intervention26 février 2004
-
26 févr. 2004 à 13:50
Bonjour,
Je dois alimenter un fichier constitué d'un enreg entête, plusieurs enreg détail, et un enreg fin.
Les champs de chaque enreg doivent être séparés par un séparateur ";".
J'ai créé des structures pour chaque type d'enregistrement :
Par exemple, pour l'entête :
typedef struct
{
char idfic [LONG_IDFIC+1];
char datetrt [LONG_DATETRT+1];
char heuretrt [LONG_HEURETRT+1];
char nseqfic [LONG_NSEQFIC+1];
char end [1];
} T_REC_ENT;
Je souhaiterais insérer le séparateur comme constante dans ma structure, entre chaque champ, mais je ne sais pas comment faire.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 26 févr. 2004 à 10:58
Pourquoi une struct avec taille fixe dans un fichier delimite ???
char buff[512]; // tu verras si suffit
DWORD r;
char *c, *d;
d = buff; // ce qu'on tamponnera dans fichier
// on entre le 1er enreg
c = champ1; // serait buffer du 1er enreg
while(*d = *c++) d++; // champ1 passe dans buff
*d++ = ';';
// on entre le 2eme enreg
c = champ2; // serait buffer du second enreg
while(*d = *c++) d++; // champ1 passe dans buff
*d++ = ';';
etc pour tous les champs, a la finale:*d++ '\r'; *d++ '\n';
WriteFile(hfl, buff, d - buff, &r, 0);
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 26 févr. 2004 à 12:58
Mais tu as fini par te poser la question:
Struct a longueur fixe OU delimiteur de champ ???
C'est l'un ou l'autre mais pas les 2.
Si tu ecris des struct, plus besoin de delimiteur de champ.
Si est fichier avec delimiteur de champ, vire ta struct inutile.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 26 févr. 2004 à 13:17
Alors si tu optes pour struct longueur fixe, t'emmerde pas avec separateur, il est inutile puisque suffira d'aspirer des structs pour recup les enregs.
ticalimero
Messages postés6Date d'inscriptionjeudi 26 février 2004StatutMembreDernière intervention26 février 2004 26 févr. 2004 à 13:20
Si, on fait l'un et l'autre pasque le client nous l'a demandé !!!!!!!!!
mon prog formate le fichier et c'est tout !
Alors comment dois-je faire pour ajouter un ";" entre chaque champ ???????????? à part ma solution hyper lourde !!!