24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2268  |  回复: 12
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wlscxf

铜虫 (小有名气)

[交流] 【求助】FORTRAN90 建文件怎么用变量作文件名?【已完成】

请教:用FORTRAN编程时在一个 DO 循环中要 open 文件,想用变量做文件名,该怎么实现?
程序如下:
do i=1,n
     open(i, 'file_i',status="unknown"
     write(i,*)a,b,c
end do
假定其中的变量都已经合法声明过。
也就是说在循环中要创建n个不同的文件,其中文件名 ‘file_i’ 想以 i 区分,该怎么命名呢?写成 ‘file_i’ 好像不行啊。
请达人指教,谢谢。

[ Last edited by wlscxf on 2009-8-28 at 21:34 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wlscxf

铜虫 (小有名气)

wangen994(金币+0,VIP+0):你可以直接给二楼发站内信 8-27 08:43
引用回帖:
Originally posted by tjyl at 2009-8-26 00:19:
用内部文件,就LS说的那样。

另外,其实输出文件可以不先open的。

直接wirte(x,*)  ...
会输出为ifort.x 这样的文件。
或许这样更简单,输出文件就是ifort.x(X=N1:N2)

麻烦能不能说的更详细些?我试了不行啊。
x是表示什么?需要事先声明吗?
我是想在一个循环中打开文件,所以文件名要不同。

我现在是用数组表示的,也就是1楼的方法,声明一个很长的数组:
character(len=2) a(1:50):/ '01', '02', '03', '04', '05', '06', ....,'50' /)
然后在循环中:
open(i, file=a(i))
觉得有些麻烦。

很期待2楼的详解,谢谢。
8楼2009-08-26 18:24:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

qingyun533

铁杆木虫 (著名写手)

★ ★ ★
csfn(金币+1,VIP+0):thx very much 欢迎常来交流 8-26 10:33
wlscxf(金币+2,VIP+0): 8-26 18:15
定义字符数组即可
2楼2009-08-25 22:47:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tjyl

金虫 (正式写手)

★ ★ ★ ★ ★ ★
csfn(金币+3,VIP+0):thx very much 欢迎常来交流 8-26 10:33
wlscxf(金币+3,VIP+0): 8-26 18:15
用内部文件,就LS说的那样。

另外,其实输出文件可以不先open的。

直接wirte(x,*)  ...
会输出为fort.x 这样的文件。
或许这样更简单,输出文件就是ifort.x(X=N1:N2)

[ Last edited by tjyl on 2009-8-27 at 09:27 ]
3楼2009-08-26 00:19:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wlscxf

铜虫 (小有名气)

谢谢, 先试一下,回头再来送金币!
5楼2009-08-26 09:49:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见