Partage
  • Partager sur Facebook
  • Partager sur Twitter

Stokage variables provenant d'un fichier texte

    18 février 2017 à 20:41:08

    Bonjour,

    J'ai écrit un programme en c qui me permet de lire un fichier texte, le voici :

    #include <stdio.h>
    #include <stdlib.h>
    #include <stdbool.h>
    #include <string.h>
    
    void main(void)
    {
        FILE* fic;
        char ligne[100]; // pour mémoriser la ligne lue dans le fichier
        short nb_lignes_lues, nb_val_lues ; // compteurs pour le test
        char nom[10];
        char para[10]; 
        fic = fopen("options.txt", "r"); // ouverture du fichier
        if (fic==NULL)
        {
            puts("Pb d'ouverture du fichier options.txt !");
            exit(0) ;
        }
        /******************* on saute les lignes d'en-tete (qui commencent toutes par $) ****************/
        while (fgets(ligne, 100, fic)!=0 && ligne[0]=='$'); //et on lit tant que ce n'est pas la fin du fichier
        /*********************************** lecture des données ****************************************/
    // pour chaque ligne : on lit toute la ligne (fgets), puis on l'analyse (sscanf).
        nb_lignes_lues = 0 ; // pour l'affichage de test
        while (fgets (ligne, 100, fic) != NULL) // on reboucle tant que la fin du fichier n'est pas atteinte
        {
            nb_lignes_lues++ ;
    // ANALYSE avec sscanf de la ligne lue précedemment par fgets :
            nb_val_lues = sscanf (ligne, "%s%s", nom, para);
            if (nb_val_lues!=2)
                printf (" !!!! PROBLEME Ligne %2hd !!!!\n", nb_lignes_lues);
    // on doit trouver 2 valeurs utiles par ligne
            else // affichage POUR LE TEST :
                printf("(Donnees extraites Ligne %2hd) %s %s \n",
                       nb_lignes_lues,nom, para);
        }
        fclose( fic );
    }

    J'aimerai pouvoir stocker dans des variables appelées param(de 1 à 10), les valeurs des paramètres contenus dans mon fichier texte.

    Mon fichier texte est de la forme Option1 Paramètre1

                                                        Option2 Paramètre2

                                                        ...

    Il faudrait que mon programme puisse lire les toutes les options, si il lit par exemple Option1, il stocke la valeur Paramètre1 dans la variable param1.

    Pouvez vous m'aider ?

    • Partager sur Facebook
    • Partager sur Twitter
      18 février 2017 à 20:54:26

      Bonjour,

      Il y a des explications avec la fonction sscanf() qui te permettra de charger les données dans différentes variables à cette adresse : site exemple sscanf

      Il y a en bas de cette page un exemple à partir d'une ligne (lue dans un fichier comme c'est le cas dans ton code) la lire et stocker les différentes données de cette ligne vers des variables. La fonction sscanf retourne une valeur : celle des données extraites en cas de succès ou EOF (end of file) en cas d'erreur.

      -
      Edité par Warren79 18 février 2017 à 20:58:03

      • Partager sur Facebook
      • Partager sur Twitter

      Mon site web de jeux SDL2 entre autres : https://www.ant01.fr

      Stokage variables provenant d'un fichier texte

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown