Bonjour, voici ma question que je n'ai pas réussi à résoudre avec la documentation:

J'ai un fichier texte banal de 200 lignes qui contient des déclarations de variables, je voudrais juste réécrire une ligne (disons la troisième) sans toucher au reste du fichier.

En faisant ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
open(unit=1, file='machin', status='old')
read(1,*)
read(1,*)
write(1,*) 'ma 3ieme ligne réécrite', var
close(1)
je conserve mes deux premières lignes, je modifie la troisième et toute la suite du fichier est effacé!
Du coup pour conserver mes 200 lignes suivantes je fais comme ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
open(unit=1, file='machin', status='old')
read(1,*)
read(1,*)
write(1,*) 'ma 3ieme ligne réécrite', var
 
do 100 k=1,300
read(1,*)
100 continue
 
close(1)
et ça marche, le fichier est correctement modifié mais par contre c'est trés moche.
Il doit exister une façon propre de faire, en jouant avec l'option access de l'instruction open par exemple?