怎么样在fortran中打开一个.txt文件的格式,并且打开显示在在屏幕上??求例子,求fortran大神
OPEN(unit=10,status='old',file='network.txt')read(unit=10,"(9X,'NO.',5X,'START',6X,'E...
OPEN (unit=10,status='old',file='network.txt')
read(unit=10,"(9X,'NO.',5X,'START',6X,'END',6X,'T(I)',9X,'C(I)'7X,'TOLL(I) in HK$')")
stop
这是我写的程序,但是出现了This is not a valid specifier for a control list. ['(9X,'NO.',5X,'START',6X,'END',6X,'T(I)',9X]这样的错误,不知道该怎么在fortran中打开已存在的文件,求大神,可以的话,留下qq细聊,谢谢。 展开
read(unit=10,"(9X,'NO.',5X,'START',6X,'END',6X,'T(I)',9X,'C(I)'7X,'TOLL(I) in HK$')")
stop
这是我写的程序,但是出现了This is not a valid specifier for a control list. ['(9X,'NO.',5X,'START',6X,'END',6X,'T(I)',9X]这样的错误,不知道该怎么在fortran中打开已存在的文件,求大神,可以的话,留下qq细聊,谢谢。 展开
1个回答
展开全部
你把内容都写在代码里了,何必再读文件呢??
换句话说,你要按照 NO. START END T(I) 这样的内容来读,必须是这样的内容。你又何必从文件读呢?
从文件读的目的就是让一些不确定的因素变得确定。
还有读文件极少数是需要用格式的。
Character(512) cStr
Open( 12 , File = 'Network.txt' )
Read( 12 , '(a512)' ) cStr
Write( * , * ) cStr
Close( 12 )
这样就可以了,第一句定义字符串变量。第二句打开文件,第三句读出数据,第四句输出数据,第五句关闭文件。
换句话说,你要按照 NO. START END T(I) 这样的内容来读,必须是这样的内容。你又何必从文件读呢?
从文件读的目的就是让一些不确定的因素变得确定。
还有读文件极少数是需要用格式的。
Character(512) cStr
Open( 12 , File = 'Network.txt' )
Read( 12 , '(a512)' ) cStr
Write( * , * ) cStr
Close( 12 )
这样就可以了,第一句定义字符串变量。第二句打开文件,第三句读出数据,第四句输出数据,第五句关闭文件。
追问
谢谢,前两句没有看懂,可能因为新手的原因,如果您不介意可以再解释一下么?肯定选您为满意答案了。
后面的程序试了一下可以出来结果,很开心。但是因为我的txt文件是大概100行*5列的数据表,我将cStr定义为数组以后,出来的结果只能显示其中表格的一部分,大概25-30之间,请问有什么方法可以显示全部的数据么,再次感谢ing...
追答
第一句是定义字符串变量的,长度是512个字节。
你的数据文件是怎么样的,我不是很清楚,所以也不知道如何才能读出你希望的东西。
如果你只是要把数据显示在屏幕上,不参与计算。那么没必要用数组来存储所有的数据。每次覆盖就可以了。
Character(512) cStr
Open( 12 , File = 'Network.txt' )
Do i = 1 , 100
Read( 12 , '(a512)' ) cStr
Write( * , * ) cStr
End Do
Close( 12 )
这样循环 100 次,每次都读入 cStr,然后写到屏幕上。下一次,还是覆盖 cStr,写到屏幕上。
不需要一个 100 的数组。
但这样不能运算,如果需要运算,就要看你的文件内容是怎样的,再确定如何读取了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询