是否可以将 double 类型数组的类型(或复制)更改为 char?
我的目标是将准确的数据与字符串混合,然后写入 .txt 文件。
根据您的提示,我达到了以下代码:
Program logArray
Implicit None
Integer, Parameter :: wp = Selected_real_kind( 12, 70 )
Real( wp ), Dimension( 1:5 ) :: vals
Character( Len = 40 ), Dimension( 1:5 ) :: stuff
character (40) :: fileName
Integer :: i,stat
Call Random_number( vals )
write(*,*) 'Printing Values from Real array'
do i = 1, 5
write(*,*) 'vals', i, vals(i)
end do
Write( stuff, '( "Value ", i1, " is ", f20.16 )' ) &
( i, vals( i ), i = 1, Size( vals ) )
fileName='log.txt'
open(2, file=fileName, status='replace', iostat=stat)
if (stat /= 0) then
write(*,*) fileName, ' The file cannot be opened !'
go to 20
end if
!Write( *, '( 99999( a, :, / ) )' ) stuff
Write( 2, '( 99999( a, :, / ) )' ) stuff
close(2)
20 write(*,*) 'File Closed'
End Program logArray
但是,如果我想在 log.txt 上写类似的东西,我仍然不明白
“-----价值1的标题---------”
值 1 是 0.9975595900926172
值 2 是 0.5668247076112733
“-----值 3 表示爱-------”
值 3 是 0.9659153754961249
值 4 是 0.7479276854714322
值 5 是 0.3673908973747557
我是 Fortran 的新手。我曾经用循环写入文件,你的“魔法”指令以不同的方式做事,我不明白我怎么能在主要有利的情况下进行操作。
非常感谢您的帮助