我有一个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兼容? 有没有解决此问题的另一种方法?
你有哪些问题?他们如何展示?你如何编写和阅读文件?我们需要查看执行I/O的代码。见[问]和[mcve]。 –
我有34个不同的.f90文件我无法发布所有文件,这些文件是用“写入”命令编写的,我将编辑我的问题以便更具体地了解 – BugliL
您仍然没有告诉使用**什么样的问题* * 你有。我们真的没有水晶球。告诉我们哪个读取命令导致问题并指定问题。 –