Fortran 中空流的可移植输出
Portable output to null stream in Fortran
我想通过以下方式在 Fortran 程序中实现详细级别标志。该代码将使用语句
write (level1, *) 'This will be shown always'
write (level2, *) 'This will be shown sometimes'
和流 level1
、level2
和更高版本将等于 output_unit
或对应于 /dev/null
(在 Unix 上),具体取决于用户提供的详细程度标志。
但是,/dev/null
与平台无关。我可以尝试手动检测 Windows 并在那里使用 NUL
,但我不想编写特定于平台的代码。在 Fortran 中是否有一种独立于平台的方式使用 write
写入输出接收器?
我已经将我之前的评论变成了答案,所以我们可以勾选这个问题...
Fortran 不提供独立于平台的方式来将输出发送到空白。如果我想要该工具,我可能会编写一些平台相关的代码,并将其包装到一个模块中,这样我就不必再查看它了。
我想通过以下方式在 Fortran 程序中实现详细级别标志。该代码将使用语句
write (level1, *) 'This will be shown always'
write (level2, *) 'This will be shown sometimes'
和流 level1
、level2
和更高版本将等于 output_unit
或对应于 /dev/null
(在 Unix 上),具体取决于用户提供的详细程度标志。
但是,/dev/null
与平台无关。我可以尝试手动检测 Windows 并在那里使用 NUL
,但我不想编写特定于平台的代码。在 Fortran 中是否有一种独立于平台的方式使用 write
写入输出接收器?
我已经将我之前的评论变成了答案,所以我们可以勾选这个问题...
Fortran 不提供独立于平台的方式来将输出发送到空白。如果我想要该工具,我可能会编写一些平台相关的代码,并将其包装到一个模块中,这样我就不必再查看它了。