桂圆莲子汤 发表于 2017-3-9 19:08 这是读取的状态。如果 k == 0 说明读取成功。 /= 0 则说明失败。 如果读取失败,就退出循环 |
楚香饭 发表于 2017-3-2 10:56 请问,read(12,*,iostat=k) f k的值到底是什么意义呢? if ( k/= 0 ) exit 是什么意思? |
太长了,该续行了。 |
试试这样: [Fortran] 纯文本查看 复制代码 program main implicit none integer :: k real ::f , a , b real ::ef10=1.09,ef25=0.31 open(12 , file ="/home/iga_qtong/fortran_xcao/fa.csv") open(13 , file ="/home/iga_qtong/fortran_xcao/faout.csv") read(12,*) do read(12,*,iostat=k) f if ( k/= 0 ) exit a=f*ef10 b=f*ef25 write(13,*) f,',',a,',',b end do close(12) close(13) end program main |
end-of-file during read 意思是,读取时遇到了文件的尾部。(即文件内容的长度不符合代码的要求) 对于文本文件,尽量不要同时对一个文件一边读,一边写。最好是另外打开一个文件,作为输出文件,写入输出文件。 shellexecute 是 windows 上的函数,并不是用来输出 csv 的,而是用来调用 excel(或其他程序)来打开 csv 文件。 |
楚香饭 发表于 2017-3-2 10:44 好的,谢谢谢谢,一直上传不上去,谢谢提示。 |
请点击 回形针 图标的 按钮上传图片 |
fcode 发表于 2017-3-1 22:17 谢谢大神,但是我更改完地址之后,如: [Fortran] 纯文本查看 复制代码 program main implicit none integer :: i=48 real ::f(48) real ::ef10=1.09,ef25=0.31 real a(48),b(48) open(12 , file ="/home/iga_qtong/fortran_xcao/fa.csv") read(12,*) do i=1,48 read(12,*) f(i) end do a(i)=f(i)*ef10 b(i)=f(i)*ef25 write(12,*) f(i),',',a(i),',',b(i) close(12) end program main 还是出现了以下问题,forrtl: severe (24): end-of-file during read, unit 12, file /home/iga_qtong/fortran_xcao/fa.csv Image PC Routine Line Source faa.exe 00000000004052C6 Unknown Unknown Unknown faa.exe 0000000000418923 Unknown Unknown Unknown faa.exe 0000000000402D88 Unknown Unknown Unknown faa.exe 0000000000402C7E Unknown Unknown Unknown libc.so.6 0000003358A1ED1D Unknown Unknown Unknown faa.exe 0000000000402B89 Unknown Unknown Unknown 并没有输出我想要的csv格式,我查看之后发现有人输出csv,使用了 real ::f_openfile f_openfile=shellexecute(0,"open","/home/iga_qtong/fortran_xcao/fa.csv",null,null,12) 但是把这句加入会出现以下错误: faa.f(18): error #5120: Unterminated character constant f_openfile=shellexecute(0,"open","/home/iga_qtong/fortran_xcao/fa.csv",null,null,12) ---------------------------------------^ faa.f(18): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ) :: , : f_openfile=shellexecute(0,"open","/home/iga_qtong/fortran_xcao/fa.csv",null,null,12) ------------------------------------------------------------------------------------------^ faa.f(18): error #6404: This name does not have a type, and must have an explicit type. [SHELLEXECUTE] f_openfile=shellexecute(0,"open","/home/iga_qtong/fortran_xcao/fa.csv",null,null,12) -----------------^ compilation aborted for faa.f (code 1) 请问,想要输出到底是什么格式呢? |
捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )
GMT+8, 2024-5-3 13:26