gpt4 book ai didi

Fortran 读取混合字符串和数字数据

转载 作者:行者123 更新时间:2023-12-02 13:50:31 30 4
gpt4 key购买 nike

我在读取语句时遇到问题。我更喜欢 Fortran90,尽管如果有帮助的话其他版本也是可能的。我的文件中有一堆数据行,可以描述为:

  • 以空格分隔
  • 没有固定格式
  • 包含一个字符串,后跟 7 个数字
  • 字符串包含正斜杠/

这是一个例子:

maxele/OS1_HC_LF_A_0001_004_maxele.63    4.22E-03        9.00E-01        1.00E-06        1       -999    -999    -999
maxele/OS1_Inl_A_0001_005_maxele.63 2.11E-03 9.00E-01 1.00E-06 3 -999 -999 -999
maxele/OS1_HC_LF_C_0001_009_maxele.63 1.56E-03 9.00E-01 1.00E-06 2 58.77 -82.82 28.91
maxele/OS1_TS_B_0001_006_maxele.63 3.90E-03 9.00E-01 1.00E-06 1 -999 -999 -999

我了解到,如果 Fortran 遇到未格式化读取的斜杠 (/) 字符,Fortran 将停止读取语句,因此我必须使用格式说明符。而且由于字符串长度未知,我不确定如何确保字符串读取在第一个空格处停止。我相信可以读取整行,然后进行解析,但这似乎很复杂。有没有办法强制它将数据视为以空格分隔?提前致谢。

最佳答案

你确实需要读取整行并解析,在这种情况下,它还不错,因为你只需要解析第一个字符串,并且内部列表可以读取其余的字符串。

read(unit,'(a)')string !declared long enough for a whole line
iblnk=index(string,' ')
read(string(iblnk:),*)seven_reals

关于Fortran 读取混合字符串和数字数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18790805/

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