Lecture de fichier de configuration - C - Programmation
Marsh Posté le 19-04-2006 à 12:34:32
julien_54 a écrit : Bonjour, |
Je n'en connais pas (mais je ne connais hélas pas tout).
Cependant, la gestion de ce type de fichier n'est pas trop compliqué. Avec "fgets()" tu récupères chaque ligne, avec "strchr()" tu positionnes un pointeur sur le "=" de la ligne (ou sur le caractère juste après ce "=" )
Ensuite, avec "strncmp()" tu peux comparer le début de ta ligne avec "DATA" ou "NUMBER" ou "NAME" (ou plus simplement avec chaque élément d'un tableau contenant "DATA", "NUMBER" et "NAME" ), et si tu trouves l'élément cherché, tu peux récupérer sa valeur en utilisant le pointeur positionné avec "strchr()"
Je serais très étonné que quelqu'un se soit embêté à créer une bibliothèque pour ça...
Marsh Posté le 19-04-2006 à 13:39:34
ReplyMarsh Posté le 19-04-2006 à 13:41:24
Sve@r a écrit : Cependant, la gestion de ce type de fichier n'est pas trop compliqué. Avec "fgets()" tu récupères chaque ligne, avec "strchr()" tu positionnes un pointeur sur le "=" de la ligne (ou sur le caractère juste après ce "=" ) |
Ca s'appelle réinventer la roue
Quand tu le fais pour chaque soft que tu développes, si, tu as interet à en faire une lib...
Marsh Posté le 19-04-2006 à 14:21:30
_darkalt3_ a écrit : une bonne lib pour débuter, tinyxml: |
Ca à l'air sympa mais je ne peux malheureusement pas utiliser du C++ ...
Marsh Posté le 19-04-2006 à 15:18:57
julien_54 a écrit : Connaissez vous une bibliothèque standard permettant de parser un fichier type texte de configuration pour en extraire les valeurs (avec une grammaire à définir ou imposée...). |
J'ai cette ébauche de début de code qui suit à peu près la spec des fichiers .ini de Windows... :
http://mapage.noos.fr/emdel/clib.htm
Module INI
Marsh Posté le 19-04-2006 à 15:42:48
Pour info, les primitives pour la gestion des fichiers INI (non portable, sous windows)
GetPrivateProfileSectionNames , GetPrivateProfileSection, WritePrivateProfileString ...
Marsh Posté le 19-04-2006 à 17:50:33
Merci, je vais voir ce que je peux faire avec tout ca ...
Marsh Posté le 19-04-2006 à 19:21:17
_darkalt3_ a écrit : Ca s'appelle réinventer la roue |
Pas "réinventer" mais "refabriquer" la roue
_darkalt3_ a écrit : Quand tu le fais pour chaque soft que tu développes, si, tu as interet à en faire une lib... |
Tout dépend de la simplification qu'on a à utiliser la lib. Si t'as juste besoins d'une boucle contenant "fgets()", "strncmp()" et "strchr()", on peut préférer se retaper la boucle à chaque soft plutôt que de passer par une lib qui peut être plus lourde et plus fastidieuse.
Et apparemment julien_54 n'en n'a besoin que pour un soft...
Marsh Posté le 24-04-2006 à 19:15:25
Sve@r a écrit : Pas "réinventer" mais "refabriquer" la roue |
Exact ...
M'enfin, bon, je vais couper la poire en deux et me créer une petite librairie simple mais évolutive au cas où (bien que tous mes programme soit évolutifs, bien sûr )...
Merci à tous
Marsh Posté le 19-04-2006 à 12:25:01
Bonjour,
Connaissez vous une bibliothèque standard permettant de parser un fichier type texte de configuration pour en extraire les valeurs (avec une grammaire à définir ou imposée...).
Je pourrais le refaire mais je n'ai pas envie de réinventer la roue ...
Par exemple :
DATA = ../plouf
NUMBER = 4
NAME = ./truc/hop
Merci d'avance