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 fichier balisé et extraction de données


Sujet :

C

  1. #1
    Membre du Club
    Homme Profil pro
    Avide d'apprentissage
    Inscrit en
    Avril 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Avide d'apprentissage
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 80
    Points : 41
    Points
    41
    Par défaut Lecture de fichier balisé et extraction de données
    Bonjour,

    Je suis actuellement sur un sujet qui me taraude depuis un petit moment.

    Voici mon problème :

    -1 ) J'ai le fichier ci-joint, qui m'a été généré par un programme
    -2) Dans ce fichier, il y a plusieurs informations repérées par des balises commençants par des "$".
    -3) Les données qui m'intéressent sont celles qui sont sous la balise "$points".
    Sachant que ces points sont classés selon le modèle suivant :

    numéro abscisse ordonnée

    -4) J'aimerai pouvoir récupérer ces points et les placer dans une structure ayant comme champs : numéro abscisse ordonnée

    -5) Après manipulation de ces points, j'aimerai les placer dans un autre fichier suivant le même format que le fichier précédent, c'est-à-dire selon le modèle : numéro abscisse ordonnée

    C'est la première étape de mon gros problème, en espérant avoir été assez explicite.

    Merci d'avance pour votre aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Tu cherches du code ou des idées ?

    Si 1, je te laisse trouver la direction de la sortie

    Si 2, commence simple et surtout par le début. Crée un type structure et une fonction pour en afficher à l'écran le contenu tel que tu souhaites le voir apparaître dans le fichier. Ainsi, il te suffira "d'afficher dans un fichier" avec fprintf() au lieu de printf().

    Au passage, écris les fonctions de traitement et donne leur à manger des structures déclarées en dur dans le code.

    La partie la plus complexe pour toi sera sûrement de faire la lecture depuis un fichier. fscanf() est la fonction adaptée à cela. Voir ce tutoriel : http://xrenault.developpez.com/tutoriels/c/scanf/ Commence par un fichier simple avec uniquement ceci :
       1  0.00000000000E+00  0.00000000000E+00 1  1.00
    Puis avec ceci :
    4  nombre de points
       1  0.00000000000E+00  0.00000000000E+00 1  1.00
       2  0.00000000000E+00  1.00000000000E-01 1  1.00
       3  1.00000000000E-01  1.00000000000E-01 1  1.00
       4  1.00000000000E-01  0.00000000000E+00 1  1.00
    Quand c'est bon, prends le fichier complet.

    Il faut toujours y aller par étapes.

  3. #3
    Membre du Club
    Homme Profil pro
    Avide d'apprentissage
    Inscrit en
    Avril 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Avide d'apprentissage
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par Bktero Voir le message
    Tu cherches du code ou des idées ?
    Merci déjà pour cette première approche.

    Mon premier soucis est de savoir quel code mettre en place afin d'atteindre les points contenus sous la balise $points.

    Si j'arrive à y accéder ça pourrait déjà me débloquer, au moins pour le début.

    Merci encore

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    au moins pour le début.
    Tu souhaites faire en premier ce que je te conseille de faire en dernier ?

    C'est un choix.

    Avant d'écrire du code, il faut écrire l'algorithme de traitement. Qu'est ce que tu ferais ? Je présume que tu commencerais par lire le fichier jusqu'à trouver la ligne "$points" et ensuite...... Quand tu auras écris cela en français, alors il sera temps d'écrire du code.

    A ton papier et ton crayon

  5. #5
    Membre du Club
    Homme Profil pro
    Avide d'apprentissage
    Inscrit en
    Avril 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Avide d'apprentissage
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    Mon problème n'a pas l'aire de vouloir se résoudre.

    En fait j'ai essayé comme tu me l'as indiqué de travailler sur un fichier simple, ça marche, j'arrive à récupérer les valeurs.

    Le truc c'est que je lis mon fichier ligne par ligne, c'est la seule méthode qui m'a parue un peu simple.

    Le problème est que mon code ne me donne pas ce que je veux, le voici :

    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
     
        char* point ="$points";
        int taille = (unsigned int)strlen(point);
        char* chaine[taille];
     
        FILE* fich = fopen("test.txt","r+");
     
        if(fich!=NULL){
        rewind(fich);
        while(fgets(chaine,sizeof(point),fich)!= NULL){ // on lit tout le fichier ligne par ligne tant que celui-ci n'est pas vide
            if (strcmp(chaine,point)==0){
               printf("la position du curseur après : %d \n",ftell(fich)); // si chaine=point on affiche la position du curseur
               printf("la chaine vaut :%s\n",chaine);
     
                  }
     
          }
     
            fclose(fich);
        }
        else perror("fich");
    J'ai l'impression que ma condition "if" ne marche pas.

    En fait j'oriente ma programmation vers la position du curseur dans le fichier.

    Je fonctionne comme ça car j'ai remarqué que tous les fichiers (.txt) qui me seront générés, l'emplacement de la balise "$points" sera toujours le même.

    Je pourrai copier mes points si ma condition marchait mais je ne sais pas du tout pourquoi elle ne marche pas.

    Merci pour votre aide.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    1. char* point ="$points"; étant une chaine en dur non toujours modifiable, on préfèrera rajouter const. Cf FAQ
    2. int taille = (unsigned int)strlen(point); pour quoi effectuer un cast vers le type unsigned int si tu le stockes dans un int ?
    3. char* chaine[taille]; attention ceci n'est pas un tableau de char, mais un tableau de pointeurs sur char. N'oublie pas non plus de prendre en compte le '\0' final.
    4. fgets(chaine,sizeof(point),fich) je te suggère de regarder la valeur de sizeof(point)

    Sinon la logique de ton programme est bonne

  7. #7
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Et note aussi que fgets() prend aussi le caractère de fin de ligne '\n', ce qui est embêtant pour la comparaison.

  8. #8
    Membre du Club
    Homme Profil pro
    Avide d'apprentissage
    Inscrit en
    Avril 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Avide d'apprentissage
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Bonsoir,

    Merci pour vos réponses, je vais effectuer les modifications nécessaires et voir ce que cela donne.
    Je reviens parce que je sais que je bloquerai par la suite.
    Merci

  9. #9
    Membre du Club
    Homme Profil pro
    Avide d'apprentissage
    Inscrit en
    Avril 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Avide d'apprentissage
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Bonsoir,

    J'ai pu avancer mais je rencontre un autre problème lorsque je veux stocker mes valeurs.
    Voici le code :

    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
     
    const char point[]="$points";
    int taille = strlen(point);
    char* chaine[taille];
    int nombre_point;
    int i=0;
     
        FILE* fich = fopen("test.txt","r+"); 
     
        if(fich!=NULL){
        while(fgets(chaine,sizeof(point),fich)!= NULL){ // on lit tout le fichier ligne par ligne tant que celui-ci n'est pas vide
     
            if (strcmp(chaine,point)==0){
                fseek(fich,2,SEEK_CUR); // on va à la ligne suivante
                fscanf(fich,"%d",&nombre_point); // on récupère le nombre de points
                fseek(fich,20,SEEK_CUR); // On se place à ligne contenant le premier point
     
                char* chaine_lu[50];
     
                for (i;i<nombre_point;i++){ //Boucle pour stocker les lignes suivantes
                    fgets(chaine_lu[i],50,fich);// "chaine_lu" devrait contenir les lignes
                }
     
                  }
     
          }
     
            fclose(fich);
        }
        else perror("fich");
    Mon programme bug lorsqu'il arrive à la boucle et "chaine_lu" ne contient rien.
    J'aimerai stocker tous les points dans "chaine_lu" afin de les copier dans un autre fichier.
    Je pourrai procéder ligne par ligne (dans le sens où, je lis une ligne et la copie dans le fichier) mais je trouve cette méthode un peu longue,
    c'est pour ça que j'aimerai tout mettre dans une variable puis vider cette variable dans le fichier destinataire.
    Un petit coup de main ?
    Merci

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 33
    Points : 48
    Points
    48
    Par défaut
    Bonsoir,
    Mauvaise allocation mémoire: vous allouez un tableau de 50 pointeurs, or, au vu du code, vous voulez faire un tableau de nombre_point éléments de 50 char de long max!

    Allocation dynamique?

  11. #11
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    const char point[]="$points";
    int taille = strlen(point);
    char* chaine[taille];
    Attention tout de même, quand tu déclares un tableau static (chaine), la taille de ce tableau doit être fixe. Ici, c'est strlen(point).

    Peut-être que le compilateur fait une optimisation car "point" est constante, mais je n'en suis pas persuadé

  12. #12
    Membre du Club
    Homme Profil pro
    Avide d'apprentissage
    Inscrit en
    Avril 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Avide d'apprentissage
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par devbreizhbugs Voir le message
    ... au vu du code, vous voulez faire un tableau de nombre_point éléments de 50 char de long max!
    Oui c'est ce que j'aimerai faire mais je ne vois pas comment.
    Je vais me renseigner sur l'allocation dynamique et reviens si je bloque de nouveau.
    Merci

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

    Il me semble que le 4 de cette ligne du fichier :
    4  nombre de points
    correspond au nombre point qu'il y aura.
    Une fois passé la ligne $points, il suffit alors de lire ce nombre, allouer ton tableau de cette taille, et lire au fur et à mesure tes valeurs.

  14. #14
    Membre du Club
    Homme Profil pro
    Avide d'apprentissage
    Inscrit en
    Avril 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Avide d'apprentissage
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    Citation Envoyé par Winjerome Voir le message
    Bonjour,

    Il me semble que le 4 de cette ligne du fichier :
    4  nombre de points
    correspond au nombre point qu'il y aura.
    Une fois passé la ligne $points, il suffit alors de lire ce nombre, allouer ton tableau de cette taille, et lire au fur et à mesure tes valeurs.
    Voici comment sont organisés mes points (numéro abscisse ordonnée inf1 inf2) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       1  0.00000000000E+00  0.00000000000E+00 0  1.00
       2  1.00000000000E-01  0.00000000000E+00 0  1.00
       3  0.00000000000E+00  1.00000000000E-01 0  1.00
       4  1.00000000000E-01  1.00000000000E-01 0  1.00
    Ce que je voudrai c'est récupérer pour chaque point tous les données qui lui sont associées.
    Exemple pour le point 1, je voudrai son abscisse : son ordonnée : et les 2 autres infos derrière.
    Du coup je voudrai créer un tableau qui me stockerai tous ces éléments, i-e, le point, son abscisse et ordonnée.
    Je sais que pour chaque point je dois lire 55 caractères avec la fonction "fgets".
    Du coup je sais que mon tableau devra avoir comme taille : .
    Le problème c'est comment faire pour récupérer ces données et les stocker.

  15. #15
    Invité
    Invité(e)
    Par défaut
    Plutôt que fgets, je te conseille plutôt fscanf à la place qui te donnera directement les valeurs numériques.
    Sinon si tu restes sur fgets, tu peux découper tes chaines avec strtok suivant les espaces, suivi d'une conversion avec strtod.

  16. #16
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Ou alors lire avec fgets() et extraire les données avec sscanf() (plutôt que faire des strtok et des strtod).

  17. #17
    Invité
    Invité(e)
    Par défaut
    Effectivement c'est mieux

  18. #18
    Membre du Club
    Homme Profil pro
    Avide d'apprentissage
    Inscrit en
    Avril 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Avide d'apprentissage
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Bonsoir,

    Merci pour vos réponses, j'ai pu résoudre une partie de mon problème.
    J'arrive à copier mes points de mon fichier initial et à les coller vers mon fichier destination.

    Voici comment j'ai procédé :
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
     
    void copi_contour(const char *nomFichGeo) {
     
    const char point[]="$points";
    //const char courbe[]="$courbes"; // position curseur 808
    const char calDeb[]="\n$debut du fichier\n";
    const char calVers[]="\n$version\n";
     
    const char noeud[]="$NOEUDS"; // position curseur : 306
    int taille = strlen(point);
    char*chaine[taille];
    int nombre_point;
    double version;
     
     
    FILE* fichGeo = fopen(nomFichGeo,"r+"); // fichier.geo
    //--------------------------------------------------------------
    char nomFichCal[]={nomFichGeo};
    strcpy(nomFichCal,nomFichGeo);
    char *cal=".CAL";
    strcat(nomFichCal,cal);
    //--------------------------------------------------------------
    FILE *fichCal= fopen(nomFichCal,"a+");// Création du fichier.cal
     
    if(fichGeo!=NULL){
    //---------------------------------------------------------------
    rewind(fichGeo);
    fseek(fichGeo,188,SEEK_SET);
    fscanf(fichGeo,"%lf",&version);// récupère la version du logiciel
    //---------------------------------------------------------------
      while(fgets(chaine,sizeof(point),fichGeo)!= NULL){ // on lit tout le fichier ligne par ligne tant que celui-ci n'est pas vide
          if (strcmp(chaine,point)==0){ // on s'arrète à la balise $points
                fseek(fichGeo,2,SEEK_CUR); // on va à la ligne suivante
                fscanf(fichGeo,"%d",&nombre_point); // on récupère le nombre de points
                fseek(fichGeo,20,SEEK_CUR); // On se place à ligne contenant le premier point
    //----------------------------------------------------------------------------------------------------------------------
                if ( fichCal!=NULL){  /* formatage du fichGeoier *.CAL */
                        if (fgets(chaine,sizeof(calDeb),fichCal)==NULL){ // si le fichier est vide
                                fprintf(fichCal,calDeb);
                                fprintf(fichCal,calVers);
                                fprintf(fichCal,"%lf",version);
                                fprintf(fichCal,"\n\n$PROBLEME\nCONTRAINTES PLANES\n\n\n");
                                fprintf(fichCal,"\n$NOEUDS\n");
                            do { // boucle copiant les points du fichier .GEO vers le fichier .CAL pour avoir le contour
                                 fgets(chaine,55,fichGeo);
                                 fprintf(fichCal,"%s",chaine);
                                    nombre_point=nombre_point--;
                                } while(nombre_point!=0);
                                fclose(fichCal);
                        }
                }
    //------------------------------------------------------------------------------------------------------------------------
                  }
     
          }
            fclose(fichGeo);
        }
    }
    En résumé :
    L'utilisateur saisit un nom de fichier (ce fichier est généré par un programme et a la forme du fichier en pièce jointe, son extension est ".GEO").
    De ce fichier, le programme génère un autre fichier qui a comme extension ".CAL".
    Ce fichier ".CAL" doit être formaté selon un format bien défini avec des balises.
    Et c'est en dessous de la balise "$NOEUDS" (contenu dans le fichier ".CAL") que je devais copier mes fameux points qui me posaient problème.
    J'ai presque résolu mon problème mais un problème presque résolu ne l'est pas complètement.
    En fait mes points copiés ont cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    $points
    10  nombre de points
       1  5.45679942875E-01  8.25353062520E-01 0  1.00
       2  7.37722151698E-01  5.92292129483E-01 0  1.00
       3  9.57731672485E-01  4.02114408124E-01 0  1.00
       4  1.18333465566E+00  6.27717391304E-01 0  1.00
       5  1.25791415424E+00  8.60778324341E-01 0  1.00
       6  1.58233497302E+00  8.96203586163E-01 0  1.00
       7  9.50273722628E-01  4.41328149794E-02 0  1.00
       8  2.45497461123E-01  8.73829736592E-01 0  1.00
       9  4.39404157410E-01  5.04661218661E-01 0  1.00
      10 1.43504046334E+00  4.69235956839E-01 0  1.00
    Et j'aimerai les copier dans le fichier.CAL en modifiant les 2 dernières colonnes de chaque point. Pour avoir ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
       1  5.45679942875E-01  8.25353062520E-01 1  0
       2  7.37722151698E-01  5.92292129483E-01 2  0
       3  9.57731672485E-01  4.02114408124E-01 3  0
       4  1.18333465566E+00  6.27717391304E-01 4  0
       5  1.25791415424E+00  8.60778324341E-01 5  0
       6  1.58233497302E+00  8.96203586163E-01 6  0
       7  9.50273722628E-01  4.41328149794E-02 7  0
       8  2.45497461123E-01  8.73829736592E-01 8  0
       9  4.39404157410E-01  5.04661218661E-01 9  0
      10 1.43504046334E+00  4.69235956839E-01 10 0
    Je sais qu'avec "fgets "ça sera un peu difficile à faire mais pour l'instant je ne vois pas du tout comment faire.
    J'ai essayé "fscanf" mais j'ai des aberrations, je ne vois pas quel type de variable utiliser pour récupérer par exemple ces informations vu leurs longueurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    5.45679942875E-01  8.25353062520E-01
    Merci et désolé si je suis un peu long dans mes explications.
    Fichiers attachés Fichiers attachés
    • Type de fichier : txt v.txt (1,2 Ko, 53 affichages)

  19. #19
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Des flottants ou des doubles avec les formateurs %f ou %lf respectivement.

  20. #20
    Membre du Club
    Homme Profil pro
    Avide d'apprentissage
    Inscrit en
    Avril 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Avide d'apprentissage
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par Bktero Voir le message
    Des flottants ou des doubles avec les formateurs %f ou %lf respectivement.
    J'ai essayé les 2 mais sans sucées.
    Le type float ne passe pas, le "double" passe mais récupère que 5 chiffres.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/11/2012, 09h17
  2. Lecture fichier PDF et extraction de données avec Java
    Par le_misterioso dans le forum Général Java
    Réponses: 2
    Dernier message: 03/04/2011, 01h32
  3. Réponses: 2
    Dernier message: 19/08/2009, 21h17
  4. Lecture de fichiers cvs et projections de données
    Par logon dans le forum Général Python
    Réponses: 5
    Dernier message: 20/02/2007, 09h27

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