Bonjour,

J'ai un programme qui possède différentes variables configurables.
Pour éviter d'avoir ces variables écrite en dur dans le code, je voulais faire un fichier texte de configuration de type fichier ini.

voici ce fichier :

chemin_apps_scanner=\\akffs10\\UNIX\AFN\install_OCS_inventory\ocs-ng\OCSInventory.exe
options_apps_scanner=/SERVER
chemin_fichier_materiel=computer.txt
Pour parser ce fichier j'ai réalisé ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#define TAILLE_CONFIG 100
 
void parseur_config()
{
    FILE* fichier = NULL;
    char CONFIG[TAILLE_CONFIG] = "";
 
    fichier = fopen("config_scanner.ini", "r");
 
    if (fichier != NULL)
    {
        while (fgets(CONFIG, TAILLE_CONFIG, fichier) != NULL) // On lit le fichier tant qu'on ne reçoit pas d'erreur (NULL)
        {
            // On Supprime les caractères de saut de ligne  
            if (CONFIG[strlen(CONFIG) - 1] == '\n')
            {
               CONFIG[strlen(CONFIG) - 1] = '\0'; 
            }
            printf("%s \n",CONFIG);      
        }
        fclose(fichier);
    }
}
J'ai lu sur des forums que je peux utiliser les fonctions
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
Le soucie c'est que je ne comprend pas comment utilisé ces trois fonctions...

Auriez vous des idées de code ?

Merci d'avance

Arnaud