I want to copy a file from a folder and write at specific lines of the file using fortran. I am using Windows, GNU fortran compiler. Here is sample file and code.
file1.txt
1 *
2 **
3 ***
4 ****
5 *****
6 ******
7 *******
8 ********
9 *********
10 **********
Here is code:
I defined some variables. Only if two criteria match (particular variable value and line number), I want to write in the new text in the file. I tried using system
command to copy, but it fails. Can anyone tell me correct way of using this? And program got run time error FORMAT 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:est1file1.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
Can I read and write in the same file? Please share your comments. I referred to some questions Fortran - How to write data to specific line in the file? but couldn't help me.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…