Wie schreibe ich in bestimmten Zeilen in fortran

Ich möchte eine Datei aus einem Ordner kopieren und mit fortran in bestimmte Zeilen der Datei schreiben. Ich benutze Windows, GNU fortran Compiler. Hier ist Beispieldatei und Code.file1.txt

1 *
2 **
3 ***
4 ****
5 *****
6 ******
7 *******
8 ********
9 *********
10 **********

Hier ist der Code: Ich habe einige Variablen definiert. Nur wenn zwei Kriterien übereinstimmen (bestimmter Variablenwert und Zeilennummer), möchte ich den neuen Text in die Datei schreiben. Ich habe versucht mitsystem Befehl zum Kopieren, aber es schlägt fehl. Kann mir jemand sagen, wie ich das richtig benutze? Und Programm bekam LaufzeitfehlerFORMAT present for unformatted text

program read

   integer :: a,b,c,d,e
   CHARACTER (LEN=200) :: str

   a=0
   b=1
   c=0
   d=1
   e=0

    !call system ("copy" // "D:\test1\file1.txt"," ", // "D:")
    !This command fails

   open (unit=10, file="file1.txt", access="direct", & 
form="unformatted",  action="readwrite", recl=100 )

   do i=1,10,1
    read (10,*) str 

    if(a==0 .AND. i==3) then
        write(10,100) 'This is ',i,' line'
    else if(b==0 .AND. i==4) then
        write(10,100) 'This is ',i,' line'
    else if(c==0 .AND. i==5) then
        write(10,100) 'This is ',i,' line'
    else if(d==0 .AND. i==6) then
        write(10,100) 'This is ',i,' line'
    else if(e==0 .AND. i==7) then
        write(10,100) 'This is ',i,' line'
    100 format (2a,i0,1X)
    end if
   end do

   close (unit=10)  
end program 

Kann ich in derselben Datei lesen und schreiben? Bitte teilen Sie Ihre Kommentare. Ich bezog mich auf einige FragenFortran - Wie schreibe ich Daten in eine bestimmte Zeile in der Datei? aber konnte mir nicht helfen.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage