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èmes écriture dans un fichier


Sujet :

Fortran

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 147
    Points : 56
    Points
    56
    Par défaut problèmes écriture dans un fichier
    Bonjour,

    Partie1
    Je crée un fichier 1, j'en lis un autre n°2, j'écris dans le fichier créer, puis je ferme tout le monde.
    partie 2
    Je réouvre le fichier créer (1) et j'ouvre un fichier n°3 puis je re modifie le fichier créer 1
    je ferme tout le monde.

    Et apparement quand je fais la partie 2 c'est comme si il n'avait pas fait la partie 1.

    exemple : le "write(109,*),'1234d-4' " ne s'affiche pas dans mon fichier 109. Si quelqu'un a compris pourquoi ?

    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
          open(109,file = titre, status='unknown', form ='formatted')
          open(1, file = 'Dat00210.vel',status='old',form='formatted')
          read(1,*),nrtri
     
    !------------- file 1 and vit1 ----------------------------------     
          write(109,*),nrtri
          do i=1,nrtri
             read(1,*) A,B
             if ( abs(A) .gt.v1) then 
                A=res1
                if (abs(B) .gt.v1) then
                   B=res1
                endif
             endif
             write(109,*), A,B
          enddo  
          write(109,*),'1234d-4'
     
          close(1)
          close(109)
    !------------file 2 and vit1 ------------------------------------
          open(109,file = 'env.vel', status='old', form ='formatted')
          open(1, file = 'Dat00220.vel',status='old',form='formatted')
          read(1,*),nrtri
     
          write(109,*),nrtri
          do i=1,nrtri
             read(1,*) A,B
             if ( abs(A) .gt.v1) then
                A=res1
                if (abs(B) .gt.v1) then
                   B=res1
                endif
             endif
             write(109,*), A,B
          enddo  
     
          close(1)
          close(109)

  2. #2
    Membre éclairé 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
    Points : 825
    Points
    825
    Par défaut
    typiquement comme tu réouvre le fichier 109, tu réécrit dedans au début et donc l'étape 2 efface ce que tu as fait dans l'étape 1...

    si tu veux avoir tout il faut écrire dans le fichier 109 à la suite... pour cela dans ton second open tu rajoute position="append"
    il n'y a que ceux qui savent qui ne savent pas qu'ils savent...
    Libere-toi hacker, GNU's Not Unix!!!

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 147
    Points : 56
    Points
    56
    Par défaut
    Voici la modif suite à test conseils, mais rien n'a changé.

    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
      open(109,file = titre, status='unknown', form ='formatted')
          open(1, file = 'Dat00210.vel',status='old',form='formatted')
          read(1,*),nrtri
     
    !------------- file 1 and vit1 ----------------------------------     
          write(109,*),nrtri
          do i=1,nrtri
             read(1,*) A,B
             if ( abs(A) .gt.v1) then 
                A=res1
                if (abs(B) .gt.v1) then
                   B=res1
                endif
             endif
             write(109,*), A,B
          enddo  
          write(109,*),'123d-4'
     
          close(1)
          close(109)
    !------------file 2 and vit1 ------------------------------------
          open(109,file = 'env.vel', status='old', form ='formatted'
         &   ,position = 'append')
          open(1, file = 'Dat00220.vel',status='old',form='formatted')
          read(1,*),nrtri
     
          write(109,*),nrtri
          do i=1,nrtri
             read(1,*) A,B
             if ( abs(A) .gt.v1) then
                A=res1
                if (abs(B) .gt.v1) then
                   B=res1
                endif
             endif
             write(109,*), A,B
          enddo  
     
          close(1)
          close(109)

  4. #4
    Membre éclairé 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
    Points : 825
    Points
    825
    Par défaut
    peut-tu donné un exemple de fichier d'entrée à qq lignes max ainsi que de la sortie que ça te donne...

    essaye aussi de ne pas fermer le fichier 109 (et donc de ne pas le ré-ouvrir) entre les deux opérations...
    il n'y a que ceux qui savent qui ne savent pas qu'ils savent...
    Libere-toi hacker, GNU's Not Unix!!!

Discussions similaires

  1. Problème écriture dans un fichier txt
    Par reperret dans le forum VB.NET
    Réponses: 7
    Dernier message: 26/03/2013, 10h26
  2. Problème écriture dans un fichier temporaire
    Par scary dans le forum Entrée/Sortie
    Réponses: 12
    Dernier message: 02/07/2009, 02h05
  3. Problème écriture dans un fichier
    Par bob_warrior89 dans le forum C
    Réponses: 11
    Dernier message: 14/06/2007, 15h37
  4. [PERL] Problème lecture/écriture dans un fichier
    Par LE NEINDRE dans le forum Langage
    Réponses: 4
    Dernier message: 17/08/2005, 13h15
  5. Problème d'écriture dans un fichier xml
    Par vanoou dans le forum C++Builder
    Réponses: 1
    Dernier message: 13/07/2005, 02h28

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