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 :

Lecture de données dans un fichier résultat


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Par défaut Lecture de données dans un fichier résultat
    Bonjour,
    j'ai un petit problème avec le code ci dessous.
    Je doit récupéré les 4 valeurs juste avant m3/h dans le début du fichier siren.txt (ci joint), ainsi que les valeurs du bas pour les mettre ds le fichier result.dat.
    Sa marche a peu près sauf qu'il y a des caractère parasite autour des valeurs.

    Si quelqu'un sait d'ou sa vient 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    int resulta()
    {
        FILE *siren;
        FILE *result;
        char temp[200], Qvrep_d[15], Qvtrav_d[15], Qvrep[15], Qvtrav[15];
        char ppm_Hall[15],ppm_Sejour[15],ppm_CH01[15],ppm_CH02[15],ppm_CH03[15],ppm_Cuisine[15],ppm_PT02[15],ppm_PT03[15];
        int i;
     
        siren=fopen("siren.txt","r");
        result=fopen("result.dat","a");
     
        fscanf(siren," %s %s %s %s %s", temp, temp, temp, temp, Qvrep_d);
        fgets(temp,sizeof temp, siren);
        fscanf(siren,"%s %s %s %s %s", temp, temp, temp, temp, Qvtrav_d);
        fgets(temp, sizeof temp, siren);
        fscanf(siren,"%s %s %s %s", temp, temp, temp, Qvrep);
        fgets(temp, sizeof temp, siren);
        fscanf(siren,"%s %s %s %s", temp, temp, temp, Qvtrav);
     
        fwrite(&Qvrep_d,sizeof Qvrep_d,1,result);
        fwrite(&Qvtrav_d,sizeof Qvtrav_d,1,result);
        fwrite(&Qvrep,sizeof Qvrep,1,result);
        fwrite(&Qvtrav,sizeof Qvtrav,1,result);
     
     
        i=0;
        for (i=1;i<38;i++)
        {fgets(temp,sizeof temp,siren);}
     
        fscanf(siren," %s %s %s %s %s %s %s %s",ppm_Hall,ppm_Sejour,ppm_CH01,ppm_CH02,ppm_CH03,ppm_Cuisine,ppm_PT02,ppm_PT03);
     
        fwrite(&ppm_Hall,sizeof ppm_Hall,1,result);
        fwrite(&ppm_Sejour,sizeof ppm_Sejour,1,result);
        fwrite(&ppm_CH01,sizeof ppm_CH01,1,result);
        fwrite(&ppm_CH02,sizeof ppm_CH02,1,result);
        fwrite(&ppm_CH03,sizeof ppm_CH03,1,result);
        fwrite(&ppm_Cuisine,sizeof ppm_Cuisine,1,result);
        fwrite(&ppm_PT02,sizeof ppm_PT02,1,result);
        fwrite(&ppm_PT03,sizeof ppm_PT03,1,result);
        fprintf(result,"\n");
     
        fclose(siren);
    }
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    En utilisant fwrite, tu copies l'intégralité du tableau, y compris les éléments du tableau qui n'ont pas été remplis par le scanf(" %s...) et qui contiennent alors n'importe quoi.

    Tu écris des chaînes de caractères dans ton fichier résultat.
    Utilise fprintf qui se limitera à la copie de la chaîne lue par le scanf (il arrêtera la copie en trouvant le 0 terminal de la chaîne lue par scanf et se trouvant dans le tableau).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lecture de matrice dans un fichier de données (.dat)
    Par Skolkran dans le forum Fortran
    Réponses: 2
    Dernier message: 04/05/2011, 15h19
  2. [Batch] Lecture de données dans un fichier
    Par eudes dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 07/09/2009, 11h08
  3. [Débutant] Lecture de données dans un fichier
    Par Fragag dans le forum MATLAB
    Réponses: 3
    Dernier message: 20/01/2009, 18h13
  4. Lecture de données dans un fichier déjà ouvert
    Par adnacademia dans le forum Fortran
    Réponses: 1
    Dernier message: 27/04/2007, 14h54
  5. Lecture de données dans un fichier txt
    Par Marcusss dans le forum MATLAB
    Réponses: 6
    Dernier message: 03/04/2007, 14h40

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