Как написать на определенных строках в фортране
Я хочу скопировать файл из папки и записать в определенные строки файла, используя fortran. Я использую Windows, GNU Fortran Compiler. Вот пример файла и кода.file1.txt
1 *
2 **
3 ***
4 ****
5 *****
6 ******
7 *******
8 ********
9 *********
10 **********
Вот код: я определил некоторые переменные. Только если два критерия соответствуют (конкретное значение переменной и номер строки), я хочу записать новый текст в файл. Я пытался с помощьюsystem
Команда для копирования, но это не удается. Может кто-нибудь сказать мне правильный способ использования этого? И программа получила ошибку во время выполнения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:\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
Можно ли читать и писать в одном файле? Пожалуйста, поделитесь своими комментариями. Я сослался на некоторые вопросыФортран - Как записать данные в определенную строку в файле? но не мог помочь мне.