Fortran 中空流的可移植输出

Portable output to null stream in Fortran

我想通过以下方式在 Fortran 程序中实现详细级别标志。该代码将使用语句

write (level1, *) 'This will be shown always'
write (level2, *) 'This will be shown sometimes'

和流 level1level2 和更高版本将等于 output_unit 或对应于 /dev/null(在 Unix 上),具体取决于用户提供的详细程度标志。

但是,/dev/null 与平台无关。我可以尝试手动检测 Windows 并在那里使用 NUL,但我不想编写特定于平台的代码。在 Fortran 中是否有一种独立于平台的方式使用 write 写入输出接收器?

我已经将我之前的评论变成了答案,所以我们可以勾选这个问题...

Fortran 不提供独立于平台的方式来将输出发送到空白。如果我想要该工具,我可能会编写一些平台相关的代码,并将其包装到一个模块中,这样我就不必再查看它了。