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