我在 fortran 中定义了一个枚举 UNIT,如下所示,并希望将值打印为字符串而不是数字。
public :: UNIT,E_TIME_STEP,E_DAY,E_WEEK,E_MONTH,E_YEAR
ENUM , BIND(C)
ENUMERATOR :: UNIT=0
ENUMERATOR :: E_TIME_STEP
ENUMERATOR :: E_DAY
ENUMERATOR :: E_WEEK
ENUMERATOR :: E_MONTH
ENUMERATOR :: E_YEAR
END ENUM
我有一个函数,它从文件中读取字符串值(“TIME_STEP”、“DAY”等)并返回相应的枚举值(E_TIME_STEP、E_DAY 等)。
这可以正常工作,在读取过程中没有任何问题。但是,我在阅读时不会将字符串值存储在任何地方,阅读后我只有枚举值(E_TIME_STEP、E_DAY 等)。在将其打印到控制台时,我需要打印字符串而不是数字。是否可以在不将其存储在拳头位置的情况下获取字符串。?
我添加了两个函数,其中一个接受输入字符串(“TIME_STEP”、“DAY”等)并返回枚举名称(UNIT),第二个函数接受枚举名称和枚举值(UNIT,1 到 5)并返回枚举字符串(“TIME_STEP”、“DAY”等)没有意义,因为我再次将枚举名称存储在局部变量中。是否可以在不将其存储在本地的情况下获取字符串?