bonjour
Voila dans un programme en c j'ai un tableau de structures que je souhaite stockeer dans un fichier ini. Mais voila je n'arrive pas à stocker une structure dans un fichier ini.
comment dois je faire?
merci![]()
bonjour
Voila dans un programme en c j'ai un tableau de structures que je souhaite stockeer dans un fichier ini. Mais voila je n'arrive pas à stocker une structure dans un fichier ini.
comment dois je faire?
merci![]()
Tu as oublié de poster le code avec lequel tu as un problème.Envoyé par Mickey.jet
Nota. Un fichier.ini ne permet pas un grande structuration, mais il convient pour des structures simples. Si il y a des imbrications de structures, xml est plus indiqué.
Rappel : on enregistre jamais de pointeurs. Des données uniquement.
oui bien sur voila mon code (enfin un bout):
et quiand je fais ca j'ai dans mon fichier ini une suite de chiffre (code héxa apparemment) mais c'est loin d'etre lisible pour moi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 struct { char Nom [100]; char Prenom [100]; int Age; } maStructure; ............. Après avoir rempli ma structure je fais... ............. WritePrivateProfileStruct('NomSection', 'NomClef', maStructure, sizeof (maStructure), 'c:\\monFichier.ini');![]()
Je rappelle qu'en C, les chaines sont délimitées par " " et non ' '... Ca peut expliquer des choses...Envoyé par Mickey.jet
De plus, chaque champ doit être traité individuellement après avoir été converti en une chaine valide. sprintf() est ton ami...
Je t'invite à relire la spécification de la fonction :
http://msdn.microsoft.com/library/de...filestruct.asp
Oups je sors juste d'un code en pascal mais dans mon source j'ai bien des ""Emmanuel Delahaye a écrit:
Je rappelle qu'en C, les chaines sont délimitées par " " et non ' '... Ca peut expliquer des choses...![]()
Mais ma structure est correctement rempli (j'ai vérifiéEmmanuel Delahaye a écrit:
De plus, chaque champ doit être traité individuellement après avoir été converti en une chaine valide.
sprintf() est ton ami...)
Ah en fait tu est en train de me dire que je ne doit pas passer toute ma struct mais je dois passer chaque champ un par un c'est bien ca?Emmanuel Delahaye a écrit:
De plus, chaque champ doit être traité individuellement après avoir été converti en une chaine valide.
sprintf() est ton ami...
Mais bon dans ce cas je vois pas trop la différence avec WritePrivateProfileString
Effectivement, erreur de ma part, c'est à cette fonction que je faisais allusion...Envoyé par Mickey.jet
L'autre (WritePrivateProfile()) permet effectivement d'enregistrer un bloc de données binaire comme une structure. Il ne faut pas espérer pouvoir le lire clairement dans le registre.
Par contre, tu devrais pouvoir le récupérer tel quel dans une structure strictement identique.
Partager