게시판 답변이 생성됐습니다
-
글쓴이글
-
kimkb회원
포트란 소스코드를 찾는다는 것이 제가 말씀 드린 포트란 실행 파일을 만드는 코드를 말씀하시는 건가요?
요기에 제가 읽고 쓰는 프로그램을 올리고싶은데 어떻게 올리는지 몰라서 보여드리진 못하네요..
kimkb회원답변주셔서 감사합니다 ^^ 설연휴 잘 보내셨는지오. 저도 연휴가 끝나고 와서 가르쳐 주신 대로 해보았습니다.
첫번째로 emdl 이라는 제가 읽을 수 없었던 원본 바이너리 파일입니다. 파일의 용량을 적어드리면.emdl = 174368
1file = 174360 (swap_endian=0 을 주고 만든 바이너리 파일)
2file = 174360 (swap_endian=1 을 주고 만든 바이너리 파일)
3file = 174368 (/f77_unformatted 을 주고 마든 바이너리 파일)
4file = 174360 (아무것도 주지 않고 만든 파일)제가 가진 fortran package 안에서는 emdl 파일의 형식을 읽는 실행파일이 존재합니다.
그래서 이 파일들을 읽어 보았는데 2,3번 파일은 처음부터 읽지를 못합니다.
1, 4 번 파일은 읽기는 읽는데 상수값이 원본 파일과는 다르게 나옵니다.
(idl로 읽는 파일이 있습니다.>> 제가 1 2 3 4 번을 만들 수 있게 해주는 코드인데요 거이서 swap, /f77 등을 바꾸고 바이너리 포트란 파일은 읽은 그것 입니다. 거기에서 읽고 바꿀 때 모니터에 상수들을 프린터 해주는데요 1 , 4 번 파일을 읽어 들이면 읽기는 읽고 끝까지 잘 읽지만 못하지만.. 하지만 상수를 잘못 프린터하네요. 즉 잘 못읽는것 같습니다.)
그래서 제가 idl로 읽어서 프린터 할 때 바이너리가 아닌 asc 파일로 파일을 만들고 그걸 다시 포트란으로 읽어서 바이너리로 바꾸면 적어도 상수까지는 어느정도 잘 읽습니다. 문제는 이것도 끝까지는 잘 읽지 못하지만요..)
지금 이러한 상황에 있습니다.
해결할 기미가 보이질 않네요.
바이너리 읽는 순서는 어차피 package에서 제공해주기 때문에 제가 건드릴 필요는 없을 것 같구요.
어려움에 처해 있네요.
어렵게 가르쳐 주셨는데 해결을 못해서 너무 죄송하네요..
kimkb회원제가 이해하기 어렵게 말씀드린것같습니다.
최종으로 처리해야 하는 건 포트란이고 바이너리 파일도 포트란에서 읽고 쓰는 용으로 되어있습니다.
하지만 다른 사람이 제공한 바이너리 파일이 포트란에서는 읽히지 않습니다.( 바이너리 같은 경우에는 컴퓨터(?)마다 다를 수 있어서 다른사람이 쓰고 읽었던 파일을 제가 쓰지 못하는 경우가 있다고합니다. )
그래서 방법을 찾아보니 idl로는 바이너리 파일을 읽고 쓸 수 있다고 하여서 그렇게 할려고 하는 중에 문제가 생겨서 질문을 하는 거에요.openw /f77_unformatted 로 바이너리로 만들 파일을 열고 printeu ? 이건가요 이렇게 바이너리로 저장해서 읽으면 안되다는 의미로 말씀드린거에요~.
kimkb회원아 너무 감사합니다!
모두 해결이 되었습닌다!!
하나씩 배워가니깐 참 재미있네요 ^^!kimkb회원그리고.. 그리드 옆에 위도 경도 표시하게 N 값 같은것을 넣는 방법과..
경도가 ( – ) 로 되어 있는데 0~360 으로 바꿀 수 도 있을까요?? -
글쓴이글