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.