Как написать на определенных строках в фортране

Я хочу скопировать файл из папки и записать в определенные строки файла, используя 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 

Можно ли читать и писать в одном файле? Пожалуйста, поделитесь своими комментариями. Я сослался на некоторые вопросыФортран - Как записать данные в определенную строку в файле? но не мог помочь мне.

Ответы на вопрос(1)

Ваш ответ на вопрос