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 :

Problème de lecture de fichier real/char


Sujet :

Fortran

  1. #1
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Problème de lecture de fichier real/char
    Bonjour

    Je code en fortran 77.
    Je possède un fichier de données de plus de 700000 lignes, composés d’une vingtaine de colonne (x,y,z,P,V........)
    Les lignes sont regroupées par x constant.pour chaque x il y a entre 400 et 5000 lignes.

    L’utilisateur doit choisir un ou plusisieurs x, et le programme doit permettre de retrouver ces valeurs, et de recopier toutes les lignes correspondantes pour ce x dans un autre fichier.

    Mon problème est que les différentes valeurs de x sont séparées par quelques lignes de textes.

    Je fais une boucle do itérant du début du programme jusqu'à la fin pour rechercher la valeur de x correspondante. La valeur que je recherche est donc un REAL, mais des que mon programme rencontre les lignes de textes entre les différentes sections, il plante.

    J’aimerai donc savoir si il est possible dans cette boucle de créer une condition afin de savoir si ma valeur est bien un réel et non une chaîne de caractère, et si c’est le cas passer à l’itération suivante.

    Voici la partie de code auquel j’avais pensé, mais je ne sais pas si il existe une instruction ou une méthode permettant de d’éviter cette chaîne de caractère.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    do 777 j=1,700000
             if (xc ????????)  then
                goto 777
             endif
             read(101,*) xc  
                if ((x-xplan(i)).lt.0.01)then
                 numligne=j
                endif
    777       continue
    xplan(i) sont les valeurs choisies par l'utilisateur que je souhaite réécrire dans un nouveau fichier.

    J’espère avoir été assez clair.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 488
    Points : 593
    Points
    593
    Par défaut
    Bonjour,

    Pour ce que tu souhaites faire, le plus simple est de controler que la lecture de 'xc' s'est bien déroulée où non. Il existe un argument (optionnel) de 'read' fait pour ça, 'iostat', qui renvoie la valeur 0 (zéro) si la lecture s'est correctement déroulée.

    Comme un exemple vaut généralement une longue dissertation, le petit code suivant illustre comment utiliser 'iostat' pour tester si la lecture d'un nombre réel s'est correctement déroulée; la transposition à ton cas est immédiate:
    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
     
          program lecture
          implicit none
          integer ierr
          real val
     
          write(*,*) "Entrez une valeur"
          read(5,*,iostat=ierr) val
          if (ierr.eq.0) then
            write(*,*) "OK, c'est bien un reel"
          else
            write(*,*) "Non, ce n'est pas un reel"
          endif
     
          end
    Bonne continuation.

  3. #3
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    merci de ton aide

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

Discussions similaires

  1. [POI] Problème de lecture des fichiers Word
    Par Dari dans le forum Documents
    Réponses: 9
    Dernier message: 05/07/2007, 14h08
  2. Problème de lecture sur fichier ini.
    Par braoru dans le forum Delphi
    Réponses: 2
    Dernier message: 28/07/2006, 15h34
  3. [DOM4J] Problème de lecture de fichier xml avec dom4j
    Par santana2006 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 05/04/2006, 16h52
  4. Problème de lecture de fichier Excel
    Par cocaetjusdorange dans le forum Langage
    Réponses: 4
    Dernier message: 08/02/2006, 11h08
  5. Problème de lecture de fichier Oracle 9.2
    Par fortlow dans le forum Oracle
    Réponses: 4
    Dernier message: 14/11/2005, 16h48

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