同样,可以使用库例程 getenv(3F) 在运行时将任何环境变量的值读入字符变量,该字符变量随后被解释为文件名:
demo% cat testenv.f
CHARACTER outfile*40
C Get $OUTFILE as output file name for unit 51
CALL getenv(’OUTFILE’,outfile)
OPEN(51,FILE=outfile)
WRITE(51,*) ’Writing to file: ’, outfile
END
demo% f95 -o tstenv testenv.f
demo% setenv OUTFILE EnvFileName
demo% tstenv
demo% cat EnvFileName
Writing to file: EnvFileName
demo%
|
使用 getarg 或 getenv 时,应该注意前导或尾随的空格。(Fortran 95 程序可以使用内函数 TRIM 或更早的 FORTRAN 77 库例程 LNBLNK())在本章开头的示例中,可以随 FULLNAME 函数的代码行编写更加灵活的代码来接受相对路径名。