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 des fichiers


Sujet :

C

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 94
    Par défaut lecture des fichiers
    bonjour,
    j'ai un probleme avec la lecture des fichier telque j'ai 3 fichier chaque fichier contient 1 colonne de matrice cad la matrice contient 3 colonne!;j'ai reussé de faire la lecture d'un seul fichier cad un seul colonne de la matrice mais je ne sais pas comment faire la lecture des autre fichier j' mais dans un boucle mais je ne sais pas comment donne le nom de fichier.
    svp aidez-moi et merci d'avance

  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
    Citation Envoyé par sousoi Voir le message
    bonjour,
    j'ai un probleme avec la lecture des fichier telque j'ai 3 fichier chaque fichier contient 1 colonne de matrice cad la matrice contient 3 colonne!;j'ai reussé de faire la lecture d'un seul fichier cad un seul colonne de la matrice mais je ne sais pas comment faire la lecture des autre fichier j' mais dans un boucle mais je ne sais pas comment donne le nom de fichier.
    svp aidez-moi et merci d'avance
    Si je comprends bien :

    J'ai un problème avec la lecture des fichiers :
    J'ai 3 fichiers. Chaque fichier contient une colonne d'une matrice ayant 3 colonnes. J'ai réussi à faire la lecture d'un seul fichier, donc d'une seule colonne de la matrice, mais je ne sais pas comment faire la lecture des autres. J'utilise une boucle mais je ne sais pas comment spécifier le nom des fichiers.
    Tout dépend de la manière dont tu obtiens le nom des fichiers. Quelques exemples de possibilités à envisager selon le cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    char const* nomFichier[3]= {"Fichier1", "Fichier2","Fichier3"};
    for(i=0; i<3;i++)
    {
       f = fopen(nomFichier[i],"r");
    ....
       fclose(f);
    }
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    char nomFichier[256]; // enfin suffisamment grand
    for(i=0; i<3;i++)
    {
      sprintf(nomFichier,"Fichier%d",i+1);   
      f = fopen(nomFichier,"r");
    ....
       fclose(f);
    }
    ou ...

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 94
    Par défaut
    bonjour,
    merci pour votre attention.
    svp si j'ai plusieur fichier comment faire la lecture est ce que je mis les nom des fichiers dans une matrice de chaine de caractere tel que le nobre de ligne designe le nombre des fichiers et les colonne est le nombre de caractere dans le nom de fichier

  4. #4
    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
    Bien sûr, il est possible de le faire sur ce modèle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    char nomFichier[3][256] // ou une taille suffisante;
    // remplissage du tableau : strcpy(nomFichier[0], "Fichier1") (par exemple)
    //.....
    for(i=0; i<3;i++)
    {
       f = fopen(nomFichier[i],"r");
    ....
       fclose(f);
    }

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 94
    Par défaut
    bonjour,
    j'essais de faire comme ça mais je ne comprends pas bien comment stocker les nom des fichier dans la matrice. les nom des fichier ,par exemple, sont :
    001_01_00_nhf_r1, 002_01_00_nhf_r1, 003_01_00_nhf_r1, 004_01_00_nhf_r1 et 005_01_00_nhf_r1 etc en d'autre terme c'est la 3caractere qui est changer.
    svp aidez-moi et merci

  6. #6
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    char nomFichier[....]; // suffisamment grand
    for(i=1; i<  .... ;i++)
    {
      sprintf(nomFichier,"%03d_01_00_nhf_r1",i);   
      f = fopen(nomFichier,"r");
    ....
       fclose(f);
    }

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 94
    Par défaut
    merci bien pour votre attention;
    svp expliquez-moi comment travail la fonction sprintf(nomFichier,"%03d_01_00_nhf_r1",i);

  8. #8
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 444
    Par défaut
    Citation Envoyé par sousoi Voir le message
    merci bien pour votre attention;
    svp expliquez-moi comment travail la fonction sprintf(nomFichier,"%03d_01_00_nhf_r1",i);
    Tout est expliqué ici : man 3 printf.

  9. #9
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 94
    Par défaut
    Merci,
    cette fonction marche bien mais j'ai un autre problème : dans mon programme j'ai plusieurs procédures. La première procédure fait la lecture du fichier et stocke le contenu dans une liste, puis j'utilise cette liste pour construire la première colonne de la matrice. Puis on fait la lecture du deuxième fichier qui est stocké dans une liste et une autre procédure fait la construction de la deuxième colonne et ainsi de suite. Mais mon problème est comment faire la boucle de lecture des fichiers ?
    L'architecture de mon programme est la suivante :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    main()
    {
    lecturefichier();
    cnstruction de la matrice();
    }

  10. #10
    Invité
    Invité(e)
    Par défaut
    Int nb-dimensions; nb-dimensions = 0; While (nb-dimensions++ < 3){ lecturefichier(); constructionmatrice();} voilà! Désolé pour la présentation, il n'y a pas de balises sur mon téléphone)

  11. #11
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 94
    Par défaut
    bonjour et merci,
    j'essais de faire comme ca mais mon programme est boucle 1 seul fois .mon boucle for contient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    for(i=1;i<11;i++)
    {
        //lecture de fichier();
        lirefichier();
       glutReshapeFunc(reshape);
       printf("(redraw)nbfichier=%d\n",nbfichier);
        glutDisplayFunc(redraw);
     
       glutMainLoop();//mon programme arrite la
     //liberation de la liste
      free();
    }

  12. #12
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 94
    Par défaut
    bonjour,
    je trouve que sprintf ne marche pas bien avec moi tel que ne fait pas lalecture de tout les fichier. elle fait la lecture de fichier qu'a la 3 caractere un nombre impaire cad les fichier suivant :
    001_01_00_nhf_r1, 003_01_00_nhf_r1, 005_01_00_nhf_r1 .... etc
    svp aidez-moi

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

Discussions similaires

  1. [Windows]lecture des fichier lnk (raccourcis)
    Par Tiaps dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 21/10/2009, 19h27
  2. [POI] Problème de lecture des fichiers Word
    Par Dari dans le forum Documents
    Réponses: 9
    Dernier message: 05/07/2007, 14h08
  3. Lecture des Fichier.MOD
    Par faressam dans le forum Vidéo
    Réponses: 3
    Dernier message: 03/04/2007, 15h50
  4. Lecture des fichiers INI
    Par jamfr73 dans le forum Linux
    Réponses: 2
    Dernier message: 13/04/2006, 01h03
  5. Lecture des fichiers INDEX.DAT ?
    Par rpoulin dans le forum Langage
    Réponses: 4
    Dernier message: 02/11/2005, 07h46

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