Fortran中常见的read
语句会中断程序的执行,直到按下RETURN键。我正在寻找一个语句,读取任何按下的键而不等待RETURN键。即使没有按下按键,程序也不应该停止。
谢谢你的回答。
编辑: 以下是一些应该澄清问题的源代码。
Program test1
n=2
do while (n==2)
read (*,*) n
write (*,*) 'Output'
end do
end program test1
Program test2
n=2
do while (n==2)
UnknownReadStatement (*,*) n
write (*,*) 'Output'
end do
end program test2
如果没有按任何键,程序test1
将永远不会在屏幕上写下“输出”一词。
使用read语句我正在查找程序test2
应该在屏幕上填充“Output”,直到按下不同于“2”的键。
答案 0 :(得分:0)
有一个示例代码用于从Fortran从终端读取单个密钥,而不要求输入由http://home.comcast.net/~urbanjost/CLONE/GETKEY/getkey.html处的返回密钥终止。我没有尝试过这段代码,因此无法保证。他的(John Ubran)解决方案使用C getkey将Fortran和C混合在一起。假设您的编译器支持它(大多数都支持),我建议尝试使用ISO_C_BINDING方法来组合Fortran和C.即使没有按下任何键,也不会回答关于程序进行的部分 - 因为您必须添加某种超时,让人有机会输入内容,但如果他们没有在截止日期前输入则超时并继续。也许你可以修改我链接到的解决方案......