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 :

[Fortran77] Accéder fichier taille de vecteur inconnue


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Par défaut [Fortran77] Accéder fichier taille de vecteur inconnue
    Bonjour !
    J'aprends à programmer avec fortran77.
    Comment faire pour ouvrir (lire et écrire) ou accéder au contenu d'un ficher (.txt) dont on ne connaît pas la taille du vecteur enregistré dans ce fichier ?

  2. #2
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Il n'y a pas de "growable arrays" en Fortran 77, donc il va falloir prevoir un tableau "assez grand". Des extensions au Fortran 77 (standard en Fortran 90) proposent des allocations dynamiques via ALLOCATE et DEALLOCATE (equivalents de malloc et free en C), mais cela depend des compilateurs.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Par défaut open file
    bonjour
    je vais essayer et vous ferai part du resultat
    merci
    A++

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Par défaut read file fortran77
    Salut
    merci de m avoir ouvrir la route
    je suis confronter a un autre pb .j ai un ficher de taille inconue et J aimerais que la fin de la lecture sequentielle du ficher soit marquer par EOF ( c -a-d je lie mon ficher sans tenir compte de sa longueur et j arrete la lecture lorqu il n y a plus rien a lire )
    vos propositions me serons utiles .
    merci

  5. #5
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Il faut utiliser l'argument iostat= de la fonction read.
    Un exemple:
    pour lire le fichier toto.txt que voici:
    8.78
    9.87
    1.23
    sans connaitre a l'avance le nombre de lignes qu'il contient, il faut faire comme suit:
    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
          PROGRAM toto
          IMPLICIT NONE
     
          INTEGER ios
          INTEGER n_value
          REAL read_value
          REAL value(10)
          INTEGER i
     
          OPEN(unit=20, file='toto.txt')
          ios = 0
          n_value = 0
          do while (.true.)
            read(unit=20,fmt=*,iostat=ios) read_value
            if (ios .ne. 0) exit
            n_value = n_value + 1
            value(n_value) = read_value
          enddo
          CLOSE(20)
          do i = 1, n_value
            print *, value(i)
          enddo
          END
    L'idee est de controler la valeur de ios, qui est zero tant que le fichier n'est pas termine, positive s'il y a eu une erreur de lecture, negative si EOF est atteint.

    On obtient bien la sortie:
    8.77999973
    9.86999989
    1.23000002

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Par défaut open file
    je m escuse davoir repondu si tard . votre proposition marche .
    c est vraiment ce que je voulais
    merci
    a++

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

Discussions similaires

  1. taille de tableau inconnue
    Par scoder dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 13/07/2007, 12h49
  2. Réponses: 1
    Dernier message: 24/03/2007, 08h55
  3. [.NET 2] Fichier Access de format inconnu
    Par Jérôme Lambert dans le forum Accès aux données
    Réponses: 2
    Dernier message: 23/12/2006, 22h21
  4. Lecture ou conversion en fichier d'un vecteur binaire
    Par Armitage1982 dans le forum SL & STL
    Réponses: 3
    Dernier message: 21/12/2006, 23h46
  5. [Fichier] Taille d'un fichier
    Par Pedro dans le forum Langage
    Réponses: 14
    Dernier message: 08/07/2004, 13h26

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