2013-12-16 8 views
-1

내 프로그램은 수천만 개의 파일 집합과 함께 작동합니다. 모든 파일은 이전에 다른 코드로 생성되었습니다. 파일 중 일부는 비어 있고 일부는 값을가집니다. 그들 모두는 'OLD'상태입니다. 내 프로그램은WRITE 문

  1. 파일 중 하나를 엽니 다.
  2. 파일에 숫자가 이미 포함되어있는 경우 파일의 끝 부분에 값을 추가하거나 파일이 비어있는 경우 첫 번째 값을 넣으십시오.
  3. 파일을 닫고 다른 파일 처리로 이동하십시오.

파일이 비어 있지 않으면 프로그램은 파일의 이전 내용을 지우고 새로운 값을 씁니다. 내 생각에, 기존의 비어 있지 않은 파일의 끝에 값을 추가하려면 'OLD'상태 이외에 OPEN 또는 WRITE 문에 몇 가지 절을 사용해야합니다. 어느 것? 고맙습니다.

+4

지금까지 시도한 것을 추가하십시오. – mplungjan

+0

오래된 포트란 77 솔루션을 정말로 원하십니까? 현대 Fortran 위치 = '추가'로 당신이 원하는 것을해야합니다. – agentp

답변

0

그것은 MWE와 쉬울 수 있지만, 그럼에도 불구하고, 당신이 할 수있는 것은 append 키워드를 사용하여, 그 같은 것입니다 것

open(unit=file_unit, file=filename, status='old', access='append') 

당신은 어떻게 볼 수 Fortran Wikibook에서 적응이 간단한 예제에 그것을 시도 할 수 작동합니다

program write 
    implicit none 
    integer   :: i, j 
    integer, parameter :: out_unit=10 

    print*,"Enter two integers:" 
    read (*,*) i, j 

    open (unit=out_unit, file="results.txt", action="write", status="old", access="append") 
    write (out_unit,*) "The product of",i," and",j 
    write (out_unit,*) "is",i*j 

    close (out_unit) 
end program write