我正在编写一个fortran代码,它显示变量的当前值。如果用户想要保留当前值,那么他只需按Enter键,否则他将输入新的字符串。
我的问题是,在阅读新字符串时,我想显示><并且光标应该介于这些字符之间,这样如果他进入偶数空间,它就会被他看到
EG:
WRITE(*,*)'Current value is 'curVal
在下一行语句中读取新字符。 由于我是fortran的新手,我认为在阅读声明中我们只能输入变量而不是格式化。
EG:
READ(*,*)curVal
但不是阅读(,)'>',curval,'<'
我想显示第二个statemnt。你能不能告诉我如何处理这个案例中的读取?
答案 0 :(得分:2)
我认为这是Fortran语言未提供/保证的终端IO控制级别。您可以执行以下操作,以提供方便的输入,只需按Return / Enter键即可保留当前值:
write (*, '( "Input new value, or press Enter to retain", I0, ". Input: " )', advance="no") current_value
read (*, '(A)' ) string
if (len_trim(string) == 0 ) then
new_value = current_value
else
read (string, *) new_value
end if