Fortran runtime error: Bad value during floating point read
文件错误为:At line 39 of file /public/LINUX/compiled/lib/gamma_cs_read.f90 (unit = 1, file = '/public/LINUX/compiled/xsection/gammalib/GTOTAL.XS')Fortran runtime error: Bad value during floating point read原文为:read(1,30) (temp1,temp2,j=1,ns)
30 format(6e11.0)
读取文件如下:
1.500000+7 4.240370-2 1.549190+7 4.168060-2 1.697060+7 3.950670-2
2.000000+3 3.968220+0 0 0 0 0
0.000000+0 0.000000+0 0 0 1 457
267 2
1.000000+4 1.648240+0 1.014860+4 1.630220+0 1.088670+4 1.566840+0
请大佬们不吝赐教 感谢大家的支持
read(1,30) (temp1,temp2,j=1,ns)
改成
read(1,*) (temp1,temp2,j=1,ns)
试试?
99%的情况下,read不需要用格式。直接表控格式就行了。 kyra 发表于 2023-8-14 15:44
read(1,30) (temp1,temp2,j=1,ns)
改成
read(1,*) (temp1,temp2,j=1,ns)
之前改过啦 然后运行之后会报 Segmentation fault (core dumped) 错误 本帖最后由 kyra 于 2023-8-16 20:03 编辑
那需要更多代码才能判断问题。
一定不能抱着这种态度:欸,出错了。这里改改试试。哎呀,改了这里好像有点变化。
正确的态度应该是:欸,出错了。错误引起的原因是什么?应该如何改?这样改了之后为何能解决问题?
需要知道temp1和temp2的定义,如果是数组,大小是多少。 kyra 发表于 2023-8-16 20:01
那需要更多代码才能判断问题。
一定不能抱着这种态度:欸,出错了。这里改改试试。哎呀,改了这里好像有点 ...
谢谢 目前解决了 问题找到了 内存分配不足的原因 风平老涡 发表于 2023-8-16 23:49
需要知道temp1和temp2的定义,如果是数组,大小是多少。
感谢帮助 目前解决了 内存分配不足的原因
页:
[1]