fortran同样的数据,可以print出来,但是write的时候写不进去文件
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/06/16 02:39:09
fortran同样的数据,可以print出来,但是write的时候写不进去文件
open(10003,file='e:/ry/allhour.txt')
.
do k=1,ny*nd*nh
print*,name(k),yl0(k),yl1(k),yl4(k)
end do
do k=1,ny*nd*nh
write(10003,*),name(k),yl0(k),yl1(k),yl4(k)
end do
close(10003)
open(10003,file='e:/ry/allhour.txt')
.
do k=1,ny*nd*nh
print*,name(k),yl0(k),yl1(k),yl4(k)
end do
do k=1,ny*nd*nh
write(10003,*),name(k),yl0(k),yl1(k),yl4(k)
end do
close(10003)
1.写不进去,是文件里一点内容都没有么?
2.试试把10003改成稍微小点的数呢?我不确定你的编译器是否支持这么大的文件通道号.
3.你是在 Linux 上编程么?e:/ry/ 路径是否存在呢?
再问: 我改成13了,但是还是写不进去,是有文件存在,但是没有内容,是在xp下运行的,路径也肯定正确
再答: e:/ry/allhour.txt 改为 e:\ry\allhour.txt
再问: 还是不行,跟以前的结果一样,生成了fort.13文件,allhour里没有内容,但是我在open时的iostat=0,说明正常打开allhour文件了
再答: 1.给出你现在修改后的代码。 2.先删除 allhour.txt 文件。运行后,会生成么? 3.e:\ry\allhour.txt 你加引号了么?
再问: open(13,file='e:\ry\allh.txt',iostat=itt,status='unknown') ..... do k=1,ny*nd*nh write(13,*)name(k),yl0(k),yl1(k),yl4(k) end do close(13) 我怕是原来的文件题目有问题,换了一个新的文件名,但是结果是一样的,还是写不进去
再答: 这样的写法是绝对没有问题的。 但是据我猜测,可能性有几种: 1.Open 和Write 13 之中还有一段代码。这之间会不会有 Close(13)? 2.你的Open语句确实执行了么?执行流程是否跳过了Open语句?比如出于一个不满足条件的 if 区块里。 3.你试试把 Open 语句放在 do k=1,ny*nd*nh write(13,*)name(k),yl0(k),yl1(k),yl4(k) end do 前面,也就是: Open(13,...) do k=1,ny*nd*nh write(13,*)name(k),yl0(k),yl1(k),yl4(k) end do
再问: 好了,终于可以了,我中间有个批量打开文件k,k中间有等于13的时候,也给批量关闭了,多谢了
再答: 我说呢,你为啥一开始用 10003 呢
2.试试把10003改成稍微小点的数呢?我不确定你的编译器是否支持这么大的文件通道号.
3.你是在 Linux 上编程么?e:/ry/ 路径是否存在呢?
再问: 我改成13了,但是还是写不进去,是有文件存在,但是没有内容,是在xp下运行的,路径也肯定正确
再答: e:/ry/allhour.txt 改为 e:\ry\allhour.txt
再问: 还是不行,跟以前的结果一样,生成了fort.13文件,allhour里没有内容,但是我在open时的iostat=0,说明正常打开allhour文件了
再答: 1.给出你现在修改后的代码。 2.先删除 allhour.txt 文件。运行后,会生成么? 3.e:\ry\allhour.txt 你加引号了么?
再问: open(13,file='e:\ry\allh.txt',iostat=itt,status='unknown') ..... do k=1,ny*nd*nh write(13,*)name(k),yl0(k),yl1(k),yl4(k) end do close(13) 我怕是原来的文件题目有问题,换了一个新的文件名,但是结果是一样的,还是写不进去
再答: 这样的写法是绝对没有问题的。 但是据我猜测,可能性有几种: 1.Open 和Write 13 之中还有一段代码。这之间会不会有 Close(13)? 2.你的Open语句确实执行了么?执行流程是否跳过了Open语句?比如出于一个不满足条件的 if 区块里。 3.你试试把 Open 语句放在 do k=1,ny*nd*nh write(13,*)name(k),yl0(k),yl1(k),yl4(k) end do 前面,也就是: Open(13,...) do k=1,ny*nd*nh write(13,*)name(k),yl0(k),yl1(k),yl4(k) end do
再问: 好了,终于可以了,我中间有个批量打开文件k,k中间有等于13的时候,也给批量关闭了,多谢了
再答: 我说呢,你为啥一开始用 10003 呢
fortran 顺序文件的输入输出 write(2,100)中的100
Fortran如何实现文件操作的?OPEN/CLOSE/READ/WRITE文件操作命令功能用法.
如何在ncbi或e!Ensembl里查找猪的线粒体基因?我怎么输进去查不出来,但是我看文献的时候别人说是有的.
关于Fortran中write语句的用法,
关于Fortran中write语句的位置
原电池的正负极,可以判断出来.但是正负极的电极方程式却总是写不出来.
文件的write-only是什么意思?
fortran会的进,fortran计算器程序怎么写?
为什么sd卡读不出来换一个读卡器可以读出 但是SD卡里面的文件都上乱七八糟的文件 而且删除不了.格式化也不行
write(12,*)在fortran里面的意思?
做选词填空的时候,可以推断的出来空应该填什么词性的.但是不知道这个词是什么词性的怎么办?记单词如何记词性?
为什么在Fortran中用open对文件进行操作之后看不到文件的变化