Bonjour à tous,
Je cherche désespérément une solution à mon problème, du coup j'espère pouvoir trouver une réponse ou une piste ici : )
Alors en quelques mots, voici ce que je cherche à faire :
- J'ai un fichier txt d'entrée (fichier_a_lire.txt) dans lequel se trouve 3 colonnes.
- Je souhaite lire le contenu de ces colonnes via les variables nommées (variable_1, variable_2 et variable_3)
- Ensuite je réécris ces variables dans le fichier de sortie (resultat_lecture.txt) uniquement pour vérifier que ce qui est lu est bien ce que je veux.
Jusque là tout va bien.
La contrainte est que le contenu de la colonne numéro 2 peut être amener à être remplie par une valeur de plus de 8 caractères et du coup le format de lecture n'est plus adapté...
Du coup en gros je voudrais pouvoir adapter le format de lecture par rapport au nombre de caractère contenu dans la collone n°2. Je pensais le faire en faisant intervenir une variable mais dès que j'essaye de mettre une variable dans l'expression du format le compilateur me sort une erreur (compilateur GNU fortran compiler au passage).
Avec mes recherches j'ai vu la possibilité de mettre un <variable> juste après le "A" (définissant que l'on veut lire une variable type CHARACTER) dans l'expression du format mais apparment ça ne marche qu'avec certains compilateurs.
J'espère être clair : p
Le bout de code actuel est comme ceci
Le contenu du fichier à lire est tout simplement :
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 program LECTURE IMPLICIT NONE CHARACTER*20 X,variable_1,variable_2,variable_3 OPEN(UNIT=2,FILE='fichier_a_lire.txt') OPEN(UNIT=3,FILE='resultat_lecture.txt') 1 READ(2,101) variable_1,variable_2,variable_3 101 FORMAT(A8,1X,A8,1X,A8) write (3,101) variable_1,variable_2,variable_3 END
100 |101 |102 |
Merci beaucoup à tous.
Bonne soirée : )
Partager