我有一个小的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进行编译时是否需要任何其他标志,或者是什么问题。谢谢你的帮助!!