gpt4 book ai didi

format - 从fortran中的txt文件读取数据

转载 作者:行者123 更新时间:2023-12-04 13:17:24 24 4
gpt4 key购买 nike

我正在编写一个FORTRAN程序,该程序从文本文件读取数据并将其写入控制台。数据文件看起来像这样

1234567890123456 123456.789 987654.321 673647.890 654356.890
6172876534567890 768909.098 234543.890 654321.908 987890.090

我有以下几行FORTRAN代码,可读取数据并将其写入控制台
 OPEN(1,FILE='data.txt')
READ(1,'(I16,3F9.3)') A ,B, C, D
WRITE (*, '(I16,3F9.3)') A,B,C,D
CLOSE(1)

以下是输出,而不是在文本文件中显示为相同的值:
1234567890123456*********89987.656    0.322
6172876534567890*********98234.547 0.891

你能帮我这个忙吗?

非常感谢

最佳答案

列表导向的IO(即*)更容易,尤其是在输入方面。尽管如此,有时还是需要使用完整的IO控制,因此值得一读。输入时,数据项和描述符必须按列排列。对于输入,在Fw.d中,如果数据项中有小数点,则d无关紧要。输入和输出的字段必须足够宽。需要有足够的描述符,其类型必须与变量和数据项匹配。与此示例程序进行比较:

program test_read

implicit none
integer, parameter :: VLI_K = selected_int_kind (18)
integer, parameter :: DR_K = selected_real_kind (14)

integer (VLI_K) :: i
real (DR_K) :: a, b, c, d

open (unit=15, file="data.txt", status='old', &
access='sequential', form='formatted', action='read' )

read (15, 110) i, a, b, c, d
110 format (I16, 4(1X, F10.0) )
write (*, 120) i, a, b, c, d
120 format ( I18, 4 (2X, F12.3) )

read (15, *) i, a, b, c, d
write (*, 120) i, a, b, c, d

end program test_read

关于format - 从fortran中的txt文件读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8828377/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com