戻る|進む
DCL:MISC1:FIOLIB : ファイルの入出力 ☆
11.1 概要
これは, 固定長の文字列データおよびバイナリデータの読み書きに関す
るサブルーチンパッケージである.
ftpなどのファイル転送ソフトを念頭において,
使用する機種によらずファイル操作の一元化を計ろうとするものである.
したがってファイルそのものの互換性はないが, 適切な転送手段によっ
てファイルの内容は保存され, 文字は文字レベルで, バイナリはバイナ
リレベルでハンドリングできることになる.
このパッケージは次のような仕様にもとづいて設計されている.
- 1.
- 固定長ファイルの入出力を取り扱う.
- 2.
- 入力と出力は同時におこなわない.
- 3.
- 出力は順次的におこなう.
- 4.
- 入力はレコード番号を指定するランダムアクセスを許す.
- 5.
- 行末の改行制御をするかどうかが指定できる.
- 6.
- 書き込のためオープンすると既存のファイルは消去される.
このような仕様は, 以下の要請からきている.
- unix系のマシンでは直接参照入出力を念頭においているので1を要請
する.
- メインフレーム系のマシンでは順番参照入出力を念頭においている
(ファイルシステムの違いから一般に直接参照入出力より順番参照入出
力のアクセススピードの方が速い)ので2, 3を要請する.
- unix系のマシンでおこなう直接参照入出力の利点を生かしてランダム
アクセスができることを要請する. ただしメインフレーム系の順番参照
入出力では出力時にレコード番号を指定するようなやりかたは非現実的
であり, 実際われわれの使用形態のほとんどの場合が順番参照的である
ことから, 4によって入力時のみ疑似的なランダムアクセスを要請する.
- unix系の文字入出力を念頭において5の要請がある.
- 既存のファイルサイズが上書きするファイルサイズより大きいような
直接参照出力をおこなうとき, 以前のファイル内容の一部が残ってしま
うので6を要請する.
以下のサブルーチン群を使用するにあたっては次の点に注意すること.
- 入出力装置番号の妥当性はチェックしない.
- レコード長の妥当性はチェックしない.
- レコード番号の妥当性はチェックしない.
- 指定できる入出力装置番号は1から99である.
なお以下の説明で共通してあらわれるコンディションコードは,
正常終了していれば0が, そうでなければ0以外の整数値が返される.