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

Fortran Discussion :

Lecture d'un fichier


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Par défaut Lecture d'un fichier
    Bonjour

    Voilà, j'ai un fichier texte que je veux lire.
    J'ai 3 colonnes : texte(1 espace)reel(1espace)texte
    Je veux lire ces 3 colonnes sur la même ligne.

    Mais voilà : j'ai plusieurs fichiers de ce type et le réel du milieu n'a jamais la même taille; donc, si je mets un formats fixe genre i9 ça ne marchera pas pour tous les fichiers à lire....

    Comment faire pour générer une lecture dans tous les cas ?

    Merci de vos conseils

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Par défaut
    Le plus simple est d'utiliser le format « list-directed », soit en plaçant une étoile à la place du format :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    read(unit,*) i, r , chaine

  3. #3
    Membre émérite Avatar de genteur slayer
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2002
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2002
    Messages : 710
    Par défaut
    je suis d'accord quand il n'y a que des chiffre, mais ça pose pas soucis quand il y a du texte?

    il stocke automatiquement la chaine de caractère avec la bonne longueur???

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Par défaut
    C'est possible. Par paresse, je n'ai pas élaboré sur les problèmes possibles.

    Le format « list-directed » est très simple d'utilisation, mais n'offre pas beaucoup de contrôle. Et en plus, son comportement change d'un compilateur à l'autre.

    Compte tenu de sa simplicité d'utilisation, il faut l'essayer. Si ça fonctionne, tant mieux. Sinon, il est possible d'ajouter un peu de contrôle en séparant les tâches lecture physique et assignation, à l'aide d'un read interne. Personnellement, j'utilise presque toujours une approche comme la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    character (1024) :: Ligne
    ...
    do
       read(Unit,'(a)',ioStat=k) Ligne
       if (k == EndOfFile) exit
       if (k /= 0) erreur...
       read(Ligne,*,ioStat=k) Liste de variables
       ...
    enddo

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Par défaut
    d accord

    mais quel est le type '(a)'?
    if (k /= 0) erreur... qu est ce que ca signifie?justement si c est /=0 ca ne devrait pas generer un mess d erreur?

    Desole pour ces questions de noob

    Merci pour ta reponse en tout cas

    Bonne journee

  6. #6
    Membre émérite Avatar de genteur slayer
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2002
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2002
    Messages : 710
    Par défaut
    alors, pour le a: c'est un format.... va voir dans les bouquin de fortran sur les format d'entrée sortie.... c'est pour dire qu'on lit un caractère...

    ensuite c, c'est la variable iostat soit le résultat d'erreur. renvoie 0 quand il y a pas d'erreur. un certain nombres de constant y sont assicier comme la fin de ligne ou la fin de fichier... etc...

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

Discussions similaires

  1. Lecture d'un fichier .dbf
    Par San Soussy dans le forum Autres SGBD
    Réponses: 8
    Dernier message: 07/07/2004, 16h30
  2. Réponses: 6
    Dernier message: 02/09/2003, 15h12
  3. Lecture et ecriture fichier .ini
    Par despe dans le forum C
    Réponses: 6
    Dernier message: 23/07/2003, 20h40
  4. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    Réponses: 4
    Dernier message: 05/02/2003, 08h54
  5. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 11/06/2002, 10h24

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