서식없는 직접 액세스 파일을 작성하는 포트란 코드가 있습니다. -서식없는 직접 액세스 파일 이식성
첫 번째 플랫폼은 윈도우 (2009 주위 버전 인텔 컴파일러를 사용하여 프로그램의 32 비트 버전)입니다 : 문제는 내가 다른 플랫폼으로 전환 할 때 크기와 파일의 내용이 변경이다 두 번째 플랫폼은 Linux (gfortran 컴파일러 v4.9.0을 사용하는 프로그램의 64 비트 버전)입니다.
불행하게도 Linux에서 생성 된 파일은 창에서 읽을 수 없습니다. LINUX의 파일 크기는 5-6 배 작습니다. 그러나 기록되는 전체 레코드 수는 같아 보입니다. 16 진수 편집기를 사용하여 두 파일을 모두 열었고 주요 차이점은 파일의 Windows 버전에 많은 0이 있다는 것입니다. LINUX에서 정확히 동일한 파일을 생성하는 방법이 있습니까? 도움이된다면
, 여기에 두 파일을 찾을 수 있습니다 https://www.dropbox.com/sh/erjlf5sps40in0e/AAC4XEi-p4nnTNzhyai_ZCZVa?dl=0
을 나는 명령을 사용하여 파일을 엽니 다 OPEN(IAST,FILE=ASTFILR,ACCESS='DIRECT',FORM='UNFORMATTED',RECL=80)
내가 명령을 쓰기 : WRITE(IAST,REC=IRC) (SNGL(PHI(I)-REF), I=IBR,IER)
내가 명령을 읽어 : READ(IAST,REC=IRC,ERR=999) (PHIS(I), I=1,ISTEP)
PHIS
은 REAL*4
배열
한 관련 예를 들어 같은 어쩌면, 무엇인지 확실하지 않다 http://stackoverflow.com/questions/8751185/fortran-입니다 unformatted-file-format –
최상의 이식성을 위해 스트림 액세스를 사용하는 것이 좋습니다. –
버텍을 많이 고맙습니다. 불행히도 나는 그 게시물을 놓쳤습니다. 한가지 더 질문 : 주어진 바이너리 파일에 대해, 기록 된 RECL의 값을 찾을 수 있습니까? – helios21