最简单的方法是用内部文件,即用字符变量作为文件。
下面程序段读取系统时间,存入字符变量now,再将now的时分秒转换为整数值读出。
program TimeNow
character*8 :: now
integer :: hh,mm,ss
call time (now) ! 读系统时间
write(*,*) now ! 写出时间字符串
! 用字符变量now作为内部文件,从中将时、分、秒作为整数读出
read(now,"(I2,1x,I2,1x,I2)") hh,mm,ss ! 字符转换为
write(*,*) hh,mm,ss ! 写出时、分、秒的整数值
stop
end program TimeNow
以此类推,将整型转换字符串为
write(now,"(2I1,1H:,2I1,1H:,2I1)") 0,1,3,5,0,5
其中,2I1表示0,1两个整数,1H:表示字符串":"。
屏幕输出例:
将实数转换为字符串如下!
character(len=8) :: string
write(string,'(f7.4)') 54.34
write(*,*) string