- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Fortran之open,write,read,inquire,Namelist 使用
Fortran之open,write,read,inquire,Namelist 使用
Fortran之open,write,read,inquire,Namelist 使用
1.文件读取的概念:
读取:“顺序读取”和“直接读取”。
保存:“文本文件”和“二进制文件”。
二进制文件:读取快,因为保存格式和数据在内存中的保存方法一样,同时也节省空间。
----------------------------------
2. 文件的操作:
----------------------------------
open的使用:使用open命令打开文件之后,就可以对文件来做输入输出。
example:
program ex0901
impicit none
open(unit=10, file=hello.txt) ! 打开hello.txt文件, unit指定文件代码,file指定文件名称。
write(10, *) hello !在代码为10的文件中写入hello
stop
end program ex0901
open中有很多参数可以使用,详细如下:
OPEN(UNIT=number, FILE=filename, FORM=..., STATUS=..., ACCESS=..., RECL=length, ERR=label, IOSTAT=iostat, BLANK=..., POSITION=..., ACTION=action, PAD=..., DELIM=...)
UNIT=number: number必须是一个正整数,它可以使用变量或是常量来赋值。number最好避开1,2,5,6。因为2,6是默认的输出位置,也就是屏幕。1,5则是默认的输入位置,键盘。
FILE=filename: 指定要打开的文件名称,文件名要符合系统规定。windows下不区分大小写,unix下则会区分大小写,最好不要使用中文文件名。
FORM=FORMATTED OR UNFORMATTED
FORM字段只有两个值可以设置:
FORM=FORMATTED “文本文件”格式来保存
FORM=UNFORMATTED “二进制文件”格式保存
这一栏不给定时候的默认值是: FORM=FORMATTED
STATUS=NEW or OLD or SCRATCH or UNKNOWN 用来说明打开一个新的文件或已经存在的旧文件。
STATUS=NEW 打开一个原本不存在的新文件
STATUS=OLD 打开一个原来已经存在的文件
STATUS=REPLACE 若文件已经存在则重新创建一次,原来的内容消失;若不存在则会创建新文件。
STATUS=SCRATCH 表示要打开一个暂存文盘,这个时候可以不需要指定文件名称,也就是FILE这个一栏可以忽略。因为程序本身会自动取一个文件名,至于文件名是啥也不重要,因为暂存盘会在程序结束后自动删除。
STATUS=UNKNOWN 由各编译器自定义。通常会同REPLACE的效果。
!这一栏不给定时,默认为STATUS=UNKNOWN。
ACCESS=SEQUENTIAL or DIRECT 设置读写文件的方法:
ACCESS=SEQUENTIAL 读写文件的操作会以“顺序”的方法来做读写,“顺序读取文件”。
ACCESS=DIRET 读写文件的操作可以任意指定位置,“直接读取文件”。
!不赋值时候,默认为: ACCESS=SEQUENTIAL。
RECL=length 在顺序读取文件中,RECL字段值用来设置一次可以读取多大容量的数据。
打开“直接读取文件”,RECL=length的length值是用来设置文件中每一个模块单元的分区长度。
length的单位在文本根式下为1个字符,也就是1 byte。在二进制格式下则由编译器自行决定,一般可能为1 byte (G77) 或 4 byte (Visual Fortran)。
ERR=LABEL 这个字段用来设置当文件打开发生错误时,程序会跳跃到LABEL所指定的行代码处来继续执行程序。
IOSTAT=var 这个字段会设置一个整数值给后面的整型变量,这是用来说明文件打开的状态,数值会有下面三种情况:
var0 表示读取操作错误
var=0 表示读取操作正常
var0 表示文件终了
BLANK=NULL or ZERO 用来设置输入数字时,当所设置的格式字段中有空格存在时所代表的意义。
BLANK=NULL时,空格代表没有东西。BLANK=ZERO时,空格部分会自动以0代入。
以下是Fortran 90添加的功能:
POSITION=ASIS
文档评论(0)