24小时热门版块排行榜    

查看: 645  |  回复: 6

贺仪

铁杆木虫 (著名写手)

[求助] 建立序列文件

如题 我想建立100个文件怎么弄?
do 1=1,100
   open(………………)
   write(……………………)
end do
我想以这样的方式创建100个文件,然后分别写入数据,应该怎么用?
就比如一般的open这么用,这里
open(111,file='cif',status='old')
file这一项怎么写呢?
回复此楼
嘟啦啦嘟啦啦嘟
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★
贺仪(金币+25): 恩 很好!刚才试过了。不过能不能稍微解释一下? 2011-09-10 23:01:52
xzhdty(金币+2): 中秋快乐,欢迎常来 2011-09-10 23:29:39
看看这个:
CODE:
character(len=6) :: filename

do i=1,100
   write(filename,'(a,i0,a)') '(cif', i, ')'
   open(111, file = filename, status = 'old')
   write(111, *)....
end do

2楼2011-09-10 21:25:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

贺仪

铁杆木虫 (著名写手)

引用回帖:
2楼: Originally posted by snoopyzhao at 2011-09-10 21:25:17:
看看这个:
CODE:
character(len=6) :: filename

do i=1,100
   write(filename,'(a,i0,a)') '(cif', i, ')'
   open(111, file = filename, status = 'old')
   write(111, *)....
end do


恩  挺好的方法!!!多谢咯!
嘟啦啦嘟啦啦嘟
3楼2011-09-10 23:01:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

贺仪

铁杆木虫 (著名写手)

引用回帖:
2楼: Originally posted by snoopyzhao at 2011-09-10 21:25:17:
看看这个:
CODE:
character(len=6) :: filename

do i=1,100
   write(filename,'(a,i0,a)') '(cif', i, ')'
   open(111, file = filename, status = 'old')
   write(111, *)....
end do


character(len=6) :: filename

do i=1,100
   write(filename,'(a,i0,a)') '(cif', i, ')'  !!!对变量filename 赋值为(cifi)
   open(111, file = filename, status = 'old')  !!!!然后file的filename变量,创立文件是吧?
   write(111, *)....
end do
可不可以这样:
do i=1,100
   open(111, file = i, status = 'new')
   write(111, *)....
end do
嘟啦啦嘟啦啦嘟
4楼2011-09-10 23:03:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

贺仪

铁杆木虫 (著名写手)

write(filename,'(a,i0,a)') '(cif', i, ')'
这里面的a,是什么作用?
嘟啦啦嘟啦啦嘟
5楼2011-09-10 23:10:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)


xzhdty(金币+1): 中秋快乐,欢迎常来 2011-09-11 12:31:16
write(filename,'(a,i0,a)') '(cif', i, ')'

这句话的主要目的是生成 file 所对应的文件名,其中的 '(a,i0,a)' 表示的是这个 filename 的格式是由一个字符串 (a)、一个长度不定的整数 (i) 和 一个字符串 (a) 组成,比如 cif99 这样的,但在这里需要前后加上括号,所以对应的 filename  其实是 (cif99)...

具体详情,请查阅 fortran 标准中有关内部文件的说明……
6楼2011-09-11 00:25:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)


余泽成(金币+1): 中秋节快乐! 2011-09-11 19:19:27
引用回帖:
4楼: Originally posted by 贺仪 at 2011-09-10 23:03:59:
character(len=6) :: filename

do i=1,100
   write(filename,'(a,i0,a)') '(cif', i, ')'  !!!对变量filename 赋值为(cifi)
   open(111, file = filename, status = 'old')  !!!!然后file的file ...

open 中的 file 要求后面的值是一个字符串,所以你不能直接把 i 赋给 file,呵呵……
7楼2011-09-11 01:01:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 贺仪 的主题更新
信息提示
请填处理意见