「ファイルポインタ」(2009/12/09 (水) 22:20:11) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
* 定義済みファイルポインタ
|名前|別名|意味|
|STDIN |stdin |標準入力 |
|STDOUT|stdout|標準出力 |
|STDERR|stderr|標準エラー出力|
|DATA |data | スクリプトプログラム内の埋め込みデータ読み込み用 ※ |
※スクリプトプログラム内に埋め込みデータが存在する時のみ有効。それ以外は無効(未定義)。
埋め込みデータの開始は __DATA__ __data__ :D[ATA] :d[ata] のいずれかで指定する。
ans=0
while(str=gets(DATA)){ # __DATA__ 以降を1行ずつ読み込み、変数 str に代入します。
ans+=int(str) # その内容を整数に変換して変数 ans に加算します。
}
print("Answer=%d\n",ans) # Answer=603 が表示されます。
__DATA__
100
200
303
* (事前定義済みの)ファイルポインタ
| 名前 | 別名 | 意味 |
| STDIN | stdin | 標準入力 |
| STDOUT | stdout | 標準出力 |
| STDERR | stderr | 標準エラー出力 |
| DATA | data | スクリプトプログラム内の埋め込みデータ読み込み用 ※ |
※スクリプトプログラム内に埋め込みデータが存在する時のみ有効。それ以外は無効(未定義)。
埋め込みデータの開始は __DATA__ __data__ :D[ATA] :d[ata] のいずれかで指定する。
ans=0
while(str=gets(DATA)){ # __DATA__ 以降を1行ずつ読み込み、変数 str に代入します。
ans+=int(str) # その内容を整数に変換して変数 ans に加算します。
}
print("Answer=%d\n",ans) # Answer=603 が表示されます。
__DATA__
100
200
303
* (一般ファイルの)ファイルポインタ
ファイル名(の文字列)を保持する変数を、ファイルポインタと見なしてファイルI/Oを実行して下さい。
正確な(内部的な)ファイルポインタの取扱いは、以下の通りです。
+ 最初のファイルI/O実行時には、対象ファイルが自動的にオープンされ、オープンされたファイルポインタが元の変数の専用領域にセットされます。そして、そのファイルポインタを用いて最初のファイルI/Oが実行されます。
+ 2回目以降は、元の変数が既に持っている(オープン状態にある)ファイルポインタを用いてファイルI/Oが実行されます。
fname="/etc/passwd" # ファイル名を文字列で変数 fname にセットします。
while(str=gets(fname)){ # 対象ファイルをオープンし1行ずつ読み込み変数 str に代入します。
puts(str) # その内容を表示します。
}
表示オプション
横に並べて表示:
変化行の前後のみ表示: