Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以可移植的方式获取Fortran中所有环境变量的列表?_Fortran_Environment Variables - Fatal编程技术网

以可移植的方式获取Fortran中所有环境变量的列表?

以可移植的方式获取Fortran中所有环境变量的列表?,fortran,environment-variables,Fortran,Environment Variables,在我们的Fortran软件中,可以使用带有模式前缀\u键的环境变量来传递调试参数。我想执行一项检查,检查给定的密钥是否存在,以防止输入错误 我知道GET\u ENVIRONMENT\u VARIABLE(Fortran 2003),这就是代码用来查询变量的内容。是否还有一种可移植的方式来枚举所有环境变量,这样我就可以检查它们是否存在意外的PREFIX\u KEY变量 该软件在Linux和Windows环境中运行,并使用不同的编译器构建,用于平台支持和代码验证。因此,可移植性是一个大问题。Fort

在我们的Fortran软件中,可以使用带有模式
前缀\u键的环境变量来传递调试参数。我想执行一项检查,检查给定的密钥是否存在,以防止输入错误

我知道
GET\u ENVIRONMENT\u VARIABLE
(Fortran 2003),这就是代码用来查询变量的内容。是否还有一种可移植的方式来枚举所有环境变量,这样我就可以检查它们是否存在意外的
PREFIX\u KEY
变量


该软件在Linux和Windows环境中运行,并使用不同的编译器构建,用于平台支持和代码验证。因此,可移植性是一个大问题。

Fortran标准中没有这样的功能。在Linux中,您可以运行
env
,将输出存储到一个文件中并对其进行解析。

正如Vladimir所说,不是用纯Fortran,但如果您在POSIX环境中工作,您可能会考虑在第二个答案中修改C,以适应@IanBush,因为软件正在跨不同平台运行。我在问题中澄清了这一点。没错,但请注意POSIX是一个API,而不是一个平台。它应该与不同类Unix操作系统上的不同编译器一起工作。但我不能帮助你使用windows,因为我不使用它。很可能你必须在不同的平台上选择不同的方法。没有任何平台独立的解决方案。Windows的等价物显然是
set
(在
cmd
中)。尽管对于包含换行符的变量值,这两种方法都不安全。