1program sample
2 implicit none
3
4 character(128) :: fmt
5 character(128) :: text
6 integer :: year = 2014
7
8 real(8) :: x, y, z
9
10 ! 6桁で出力
11 write(*, '(i6)') year
12
13 ! 編集記述子を文字型変数として渡す
14 fmt = '(i6)'
15 write(*, fmt) year
16
17 ! 8桁で出力. ただし6桁に満たない部分は0で埋められる
18 write(*, '(i8.6)') + year
19
20 ! 負の整数の場合
21 write(*, '(i8.6)') - year
22
23 x = 4.0_8 * atan(1.0_8)
24 y = x * 2
25 z = x**2
26
27 write(*, '(f12.5)') x
28 write(*, '(e20.7)') x
29
30 ! これは正しく出力されない
31 write(*, '(f5.3)') x * 10
32 write(*, '(e5.3)') x
33
34 ! そのまま出力
35 write(*, '(a)') 'I Love Fortran'
36
37 ! 30文字幅で右寄せ
38 write(*, '(a30)') 'I Love Fortran'
39
40 ! 6文字分(最初の6文字だけ表示される)
41 write(*, '(a6)') 'I Love Fortran'
42
43 ! 複数の記述子を並べる
44 write(*, '(e10.3, e10.3, e10.3)') x, y, z
45
46 ! 文字列および改行を使う
47 write(*, '("x = ", e10.3, /, "y = ", e10.3, /, "z = ", e10.3)') x, y, z
48
49 ! 出力後に改行しない
50 write(*, fmt='(a)', advance='no') 'Input some text : '
51
52 ! 改行まで文字を読み込む
53 read(*, '(a)') text
54
55 write(*, *) 'text = ', text
56
57 stop
58endprogram sample