|
iotype 里面保存了自定义格式,f2008标准中建议 v_list 为输出域宽,其实没多大用。
[Fortran] 纯文本查看 复制代码 08 | generic :: write ( formatted ) = > write_UDT |
11 | subroutine write_UDT ( dtv , unit , iotype , v_list , iostat , iomsg ) |
13 | class ( UDT ) , intent ( in ) :: dtv |
14 | integer , intent ( in ) :: unit |
15 | character ( * ) , intent ( in ) :: iotype |
16 | integer , intent ( in ) :: v_list ( : ) |
17 | integer , intent ( out ) :: iostat |
18 | character ( * ) , intent ( inout ) :: iomsg |
20 | select case ( iotype ( 1 : 2 ) ) |
22 | write ( unit , * ) dtv % x , dtv % y , dtv % ind |
24 | write ( unit , fmt = '(' / / iotype ( 3 : ) / / ')' ) dtv % x , dtv % y , dtv % ind |
35 | type ( UDT ) :: t = udt ( 1.2 , 3.1 , 3 ) |
36 | print * , input_unit , output_unit |
37 | write ( output_unit , '( dt"f4.1,f8.1,i5" )' ) t |
38 | write ( output_unit , * ) t |
|
|