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

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
Le contenu du fichier à lire est tout simplement :
100 |101 |102 |

Merci beaucoup à tous.

Bonne soirée : )