IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Récupérer des données numériques dans un fichier


Sujet :

C

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1
    Points : 2
    Points
    2
    Par défaut Récupérer des données numériques dans un fichier
    Bonjour, j'essaye de réaliser un chargement de fichier, pour cela je dois parcourir le fichier afin d'en soutirer que les informations numériques c'est à dire, par exemple une fois que j'ai sauvegarder les infos sous un fichier texte (comme ci-dessous), il faut que je puisse récupérer juste les infos numériques, donc juste 5 6 0 et 2, et les stocker dans des variables correspondant aux coordonnées de la cellule et a son contenu.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <CELLULE>
    5
    6
    0
    <CONTENU>
    2
    </CONTENU>
    </CELLULE>
    Je ne vois pas trop comment faire, J'ai fais un fscanf mais je ne récupérer pas les bonnes valeurs, je récupère 56002222 alors que je dois récupérer 5602 donc si quelqu'un pouvait m'aider !

    Merci d'avance !

    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
    int charger_Fichier(char *NomFichier)
    {
        int ligne;
        FILE* fichier = NULL;
        char chaine[TAILLE_MAX] = "";
     
        fichier = fopen(NomFichier, "r");
     
        if (fichier != NULL) {
            while (fgets(chaine, TAILLE_MAX, fichier) != NULL)
            {
                fscanf(fichier,"%d",&ligne);
            }
     
            fclose(fichier);
        }
     
        return 0;
    }

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par man fscanf
    VALEUR RENVOYÉE
    Ces fonctions renvoient le nombre d'éléments d'entrées correctement assignés. Ce nombre peut être plus petit que le nombre d'élements attendus, et même être nul, s'il y a une erreur de mise en correspondance. La valeur zéro indique qu'aucune conversion n'a été faite bien que des caractères étaient disponibles en entrée. Typiquement c'est un caractère d'entrée invalide qui en est la cause, par exemple un caractère alphabétique dans une conversion `%d'. La valeur EOF est renvoyée si une erreur d'entrée a eu lieu avant toute conversion, par exemple une fin de fichier. Si une erreur fin-de-fichier se produit après que les conversions aient commencé, le nombre de conversions réussies sera renvoyé.
    En clair, il faut récupérer le retour de scanf avant de d'utiliser son résultat.

    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
    int charger_Fichier(char *NomFichier)
    {
        int ligne;
        FILE* fichier = NULL;
        char chaine[TAILLE_MAX] = "";
     
        fichier = fopen(NomFichier, "r");
     
        if (fichier != NULL) {
            while (fgets(chaine, TAILLE_MAX, fichier) != NULL)
            {
                if(1 == fscanf(fichier,"%d",&ligne)) {
                    printf("%d ok\n", ligne);
                } else {
                    fprintf(stderr, "pas de conversion valable\n");
                }
            }
     
            fclose(fichier);
        }
     
        return 0;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >./a.exe
    5 ok
    6 ok
    0 ok
    pas de conversion valable
    2 ok
    pas de conversion valable
    pas de conversion valable
    pas de conversion valable

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/06/2007, 14h59
  2. Réponses: 3
    Dernier message: 04/01/2007, 17h42
  3. Transposer des données sql dans un fichier texte
    Par Anakior dans le forum Outils
    Réponses: 3
    Dernier message: 11/12/2005, 10h01
  4. récupérer des données saisies dans un fichier
    Par natie_49 dans le forum C++
    Réponses: 6
    Dernier message: 24/11/2005, 11h29
  5. [JList] Lecture des données sauvegardées dans un fichier
    Par Myogtha dans le forum Composants
    Réponses: 7
    Dernier message: 10/06/2004, 21h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo