如何在 Fortran 中运输 return 和刷新?
How to carriage return and flush in Fortran?
我一直想知道您是否可以在 Fortran 中回车 return 并刷新写入语句。在 Python/C++ 中,您可以 '/r'
然后刷新流。
我如何在 Fortran 中执行此操作?
一个回车符-return默认插入到写入语句的末尾,或者显式地使用ADVANCE说明符:
write(unit , '(A)') 'Hello World'
write(unit , '(A)' , ADVANCE = 'YES') 'Hello World'
write(unit , '(A)' , ADVANCE = 'YES') '-'
前面三个语句的结果是:
Hello World
Hello World
-
或者,可以通过指定 ADVANCE='NO':
来禁止回车-return
write(unit , '(A)' , ADVANCE = 'NO') 'Hello World'
write(unit , '(A)' , ADVANCE = 'NO') 'Hello World'
write(unit , '(A)' , ADVANCE = 'NO') '-'
产生:
Hello WorldHello World-
要在 Fortran90 中刷新,请关闭文件并重新打开。特定编译器 and/or 较新版本的 Fortran 标准提供 FLUSH 作为内在函数,但无论您的 Fortran 版本如何,关闭文件总是会产生刷新效果。
我一直想知道您是否可以在 Fortran 中回车 return 并刷新写入语句。在 Python/C++ 中,您可以 '/r'
然后刷新流。
我如何在 Fortran 中执行此操作?
一个回车符-return默认插入到写入语句的末尾,或者显式地使用ADVANCE说明符:
write(unit , '(A)') 'Hello World'
write(unit , '(A)' , ADVANCE = 'YES') 'Hello World'
write(unit , '(A)' , ADVANCE = 'YES') '-'
前面三个语句的结果是:
Hello World
Hello World
-
或者,可以通过指定 ADVANCE='NO':
来禁止回车-returnwrite(unit , '(A)' , ADVANCE = 'NO') 'Hello World'
write(unit , '(A)' , ADVANCE = 'NO') 'Hello World'
write(unit , '(A)' , ADVANCE = 'NO') '-'
产生:
Hello WorldHello World-
要在 Fortran90 中刷新,请关闭文件并重新打开。特定编译器 and/or 较新版本的 Fortran 标准提供 FLUSH 作为内在函数,但无论您的 Fortran 版本如何,关闭文件总是会产生刷新效果。