gfortran在write语句的连续行中添加空格

时间:2018-10-25 13:07:18

标签: fortran format gfortran intel-fortran

我有一个小的fortran脚本,可将数据写入vtk文件。在某些情况下,使用ifort编译脚本时,write语句将完全按照我的意图执行。但是,使用gfortran会在脚本中引入多余的空格,在该空格中字符串会被连续的行(&)中断。结果,写入的字符串变得比预期的更长,并且部分字符串超出了格式的长度,因此无法写入。一个例子是:

      write(21,'(A112)')'<VTKFile type="vtkMultiBlockDataSet" 
     &version="1.0" byte_order="LittleEndian"  
     &compressor="vtkZLibDataCompressor">"'

使用ifort给出

<VTKFile type="vtkMultiBlockDataSet" version="1.0" byte_order="LittleEndian" compressor="vtkZLibDataCompressor">

这就是我想要的。 Gfortran产生:

<VTKFile type="vtkMultiBlockDataSet"           version="1.0" byte_order= "LittleEndian"                    

因此,问题是“ vtkMultiBlockDataSet”和“ LittleEndian”之后的多余空格导致语句长于该格式中给出的112个字符。使用gfortran进行编译时是否需要任何其他标志,或者是什么问题。谢谢你的帮助!!

0 个答案:

没有答案