Gestion de fichier .ini en c sous linux comme sous windows

Soyez le premier à donner votre avis sur cette source.

Vue 7 689 fois - Téléchargée 857 fois

Description

La présentation et la gestion des fichiers .ini sous windows était intéressante. J'ai fait une bibliothèque pour les gérer facilement. Le principe est d'avoir un fichier sous la forme:

[section1]
cle1=valeur1
cle2=valeur2

[section2]
cle1=valeur1
cle2=valeur2

Il fallait pouvoir ajouter, modifier (writeINI), supprimer(delINI) et récupérer (readINI) la valeur d'une cle facilement, pour cela 3 fonctions:

char *writeINI (char *section, char *key, char *pKeyValue, char *fileName);

int delINI (char *sectionName, char *pKeyName, char **ppStr, char *fileName);

int readINI (char *section, char *key, char **ppStr, char *fileName);

Les paramètres sont tjs dans le meme ordre: section, clé, valeur, nom du fichier.
ATTENTION: dans readINI et delINI le 3eme parametre est un pointeur de pointeur, c'est pour récupérer la clé!!!

Pour plus de détails voir les commentaires dans le source.

J'ai livré avec le code un fichier test_filetools.c et un Makefile générique avec un exemple d'utilisation.

N'hésitez pas à me contacter en cas de problème

Source / Exemple :


4 fichiers à inclure dans vos projets:

/** une gestion d'exception récupérée dans un Hors Série LOGIN **/
exception.h
exception.c

/** ma gestion des .ini **/
filetools.h
filetools.c

tous est dans le zip !!

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

beeline
Messages postés
83
Date d'inscription
jeudi 20 décembre 2001
Statut
Membre
Dernière intervention
9 juin 2009

je ne comprend pas ton message, la source est toujours disponible, je vient de pouvoir la telecharger

(il faut avoir un compte et s'enregistrer ... )

Baptiste
Maintenant, comme je suis gentil (meme trop ...)
je te l'envoie, mais sans comprendre
crokmitaine
Messages postés
1
Date d'inscription
dimanche 20 mars 2005
Statut
Membre
Dernière intervention
21 avril 2005

salut!
Bon je vai être rapide:
J'ai absolument besoin de cette source et elle n'est apparemment plus disponible
est-ce que quelqu'un qui par chance lirai mon message et qui se trouve en posséssion de cette source pourrait me l'envoyer:
crok@freesurf.fr !!
merci
cs_kitutou
Messages postés
1
Date d'inscription
dimanche 2 mars 2003
Statut
Membre
Dernière intervention
7 septembre 2004

Bonjour, très bonne source et très utile, pour une fois pas dépendante d'un quelconque compilo...

qq mini "bugs" :
- oublie de "pSectionName[offset - 1]='\0';" dans la fonction delIni
- "return 0;" dans saveIni
- comme déjà dit, certains compilo demandent un ";" apres "default:" dans la macro ENDTRY
cs_squale
Messages postés
44
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
20 septembre 2006

Je suis content que ça serve à qq'un. Pour ta remarque concernant le ';' effectivement il y en a besoin en fonction des compilateurs. Je prévois de le rajouter. La gestion des exception permet d'avoir un code fiable.

Je compte améliorer cette bibliotheque en apportant:
- modification de la fonction writeINI en modifiant le parametre pKeyValue en pointeur de pointeur afin que toutes les parametres de toutes les fonctions soient de meme type,
- une gestion des commentaires dans le fichier (ajout et suppression au minimum et peut-etre modification)
cs_squale
Messages postés
44
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
20 septembre 2006

Je suis content que ça serve à qq'un. Pour ta remarque concernant le ';' effectivement il y en a besoin en fonction des compilateurs. Je prévois de le rajouter. La gestion des exception permet d'avoir un code fiable.

Je compte améliorer cette bibliotheque en apportant:
- modification de la fonction writeINI en modifiant le parametre pKeyValue en pointeur de pointeur afin que toutes les parametres de toutes les fonctions soient de meme type,
- une gestion des commentaires dans le fichier (ajout et suppression au minimum et peut-etre modification)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.