
fortran语言中,如何建立一个带变量的文件名,谢谢~
比如说,数组中有一列数,我想将数组的数作为我处理后的文件的名字,例如open(55,file='E:\Data\data1\a(j).txt'),其中的a(j)是我需要变...
比如说,数组中有一列数,我想将数组的数作为我处理后的文件的名字,例如
open(55,file='E:\Data\data1\a(j).txt') ,其中的a(j)是我需要变化的名字。我的这种写法Fortran是不支持的。
请FOrtran语言的达人帮我实例一下如何书写带有变量的文件名命名,多多感谢!
(麻烦写出代码实例,不要只是用文字描述一下解决方案) 展开
open(55,file='E:\Data\data1\a(j).txt') ,其中的a(j)是我需要变化的名字。我的这种写法Fortran是不支持的。
请FOrtran语言的达人帮我实例一下如何书写带有变量的文件名命名,多多感谢!
(麻烦写出代码实例,不要只是用文字描述一下解决方案) 展开
展开全部
character( len = 512 ) :: cFile
write( cFile , * ) a(j)
cFile = 'E:\Data\data1\' // Trim(AdjustL(cFile)) // '.txt'
Open( 55 , File = cFile )
write( cFile , * ) a(j)
cFile = 'E:\Data\data1\' // Trim(AdjustL(cFile)) // '.txt'
Open( 55 , File = cFile )
追问
谢谢您的回答,试验可行!
但有一点问题,就是在循环的时候,是不是会因为反复打开 文件 55 导致在将信息写入文件的时候,会出现覆盖的情况?
非常感谢!
追答
Do
write( cFile , * ) a(j)
cFile = 'E:\Data\data1\' // Trim(AdjustL(cFile)) // '.txt'
Open( 55 , File = cFile )
读取该文件
Close( 55 ) !// 这是关键。如果你每次循环都关闭了文件,下次循环打开的是另一个文件,则不会覆盖。
End Do
!// 如果你把 Close 写在循环外面,则第二次循环就会出错。
!// 55 因为每次循环都指向不同的文件,所以不会出现覆盖的情况。当然,前提是 a(j) 每次都不同
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询