2017-07-21 19 views
0

我有一個Fortran程序最初在Windows編譯不兼容的,它得到純輸入文本文件,並生成純文本輸出文件寫入的寫命令:換行的Linux的Fortran輸出與Windows

 

    do fig=180,0,-1 
    write(jfil,'(i3.3,2x,f7.5,1x,f7.4,1x,2(1x,f9.4,1x,a3),2(2x,i3),2(1x,f9.4,1x,a3))') & 
    fig,xc(fig),cc(fig),(Pcav(je),fcav(je),je=1,2),agav,agad,(Pcad(je),fcad(je),je=1,2) 
    enddo 

我需要編譯和運行它在Linux上,但當我在Windows上讀取輸出文件時,我遇到了與endline char兼容性問題。 這是我期望在Windows上的記事本程序

 
177 0.99947 0.2519  9.5946 com 36.4488 exp 3 357 9.5882 asp 36.6517 sca 
176 0.99905 0.3358  9.5988 com 36.2943 exp 4 356 9.5874 asp 36.6534 sca 
175 0.99851 0.4197  9.6043 com 36.0974 exp 5 355 9.5865 asp 36.6557 sca 
174 0.99786 0.5036  9.6110 com 35.8594 exp 6 354 9.5853 asp 36.6585 sca 


這就是我得到

177 0.99947 0.2519  9.5946 com 36.4488 exp 3 357 9.5882 asp 36.6517 sca 176 0.99905 0.3358  9.5988 com 36.2943 exp 4 356 9.5874 asp 36.6534 sca 175 0.99851 0.4197  9.6043 com 36.0974 exp 5 355 9.5865 asp 36.6557 sca 174 0.99786 0.5036  9.6110 com 35.8594 exp 6 354 9.5853 asp 36.6585 sca



這是相同的輸出,但沒有換行,都是在行輸出 這是Linux和Windows之間衆所周知的兼容性問題: linux使用「\ n」和windows使用「\ r \ n」來編寫新行

是否有Gfortran標誌將輸出修改爲與Windows兼容? 有沒有解決此問題的另一種方法?

+0

你有哪些問題?他們如何展示?你如何編寫和閱讀文件?我們需要查看執行I/O的代碼。見[問]和[mcve]。 –

+0

我有34個不同的.f90文件我無法發佈所有文件,這些文件是用「寫入」命令編寫的,我將編輯我的問題以便更具體地瞭解 – BugliL

+0

您仍然沒有告訴使用**什麼樣的問題* * 你有。我們真的沒有水晶球。告訴我們哪個讀取命令導致問題並指定問題。 –

回答

1

Gfortran和Windows上的其他幾種語言/運行時應該讀取文件,即使使用Unix行終止也可以。您必須向我們提供在VBA或其他地方閱讀時實際存在的錯誤的詳細信息,否則我們無法告訴您如何避免它。

有沒有解決此問題的另一種方法?

是的,您可以運行衆所周知的unix2dos實用程序將數據文件轉換爲DOS/Windows格式。或者在鏈接網頁中提到的一些替代實用程序。

+0

好吧,這是我的不好,我沒有說清楚,我沒有閱讀Fortran的輸出文件,但在其他語言(VBA,Python,C++,Java) – BugliL

+0

非常感謝您的實用程序,我沒有' t知道 – BugliL

+0

downvote的任何理由?我應該改進什麼? –