Fortran 输入输出编辑与程序单元详解
1. 输入输出编辑 - 名字列表格式
名字列表输入输出使用组名来传输一组变量。在使用组名进行传输之前,必须在 NAMELIST 语句中声明变量列表。使用名字列表组名可以避免在名字列表数据传输语句中指定输入/输出项列表。名字列表数据传输语句将组中的变量作为一组名值对进行处理。
名字列表输入输出在以下场景中非常方便:
- 在连续运行中用不同的值初始化相同的变量。
- 更改具有默认初始值的大量变量中的少数变量的值。
输入或输出记录的格式在程序中未指定,而是由记录本身的内容或名字列表组中的项决定。列表中的每个变量都会隐式地进行字符转换。与列表定向输入一样,基本上任何与变量赋值兼容的输入形式都是允许的。对于输出,处理器会选择输出形式,程序员无法控制。
在名字列表数据传输期间,数据会在文件和由名字列表组名指定的实体之间进行编辑传输。当前记录以及可能的其他记录会被读取或写入。
当执行名字列表输入/输出语句时,组中的每个可分配对象都必须被分配,组中的每个指针都必须与目标关联。但是,通过定义的输入/输出处理的派生类型的子对象不需要分配或关联。如果名字列表对象是多态的,或者其最终组件是可分配的或指针,则必须通过定义的输入/输出子例程来传输该对象。
除以下情况外,格式化输入/输出的规则也适用于名字列表输入/输出。
名字列表数据传输语句的示例如下:
READ(NML=NAME_LIST_23,IOSTAT=KN,UNIT=5)
WRITE(6,NAM
超级会员免费看
订阅专栏 解锁全文
71

被折叠的 条评论
为什么被折叠?



