今回の設計はファイルです。バイナリ形式でファイルを扱いますが、
「バイナリファイル~」と書くと長いので、「バイナリ~」とします。
------ここから------
・バイナリオープン
書式:バイナリオープン([str]ファイル名、[int]モード)
戻値:[int]ハンドル
説明:ファイル名で指定されたファイルを、モードで指定された方法で
オープンする。モードには0,1,2,3の何れかを指定し、意味は
以下のとおり。
0 : 読込専用
1 : 書込専用
2 : 読み書き
3 : 追記
ファイルは常にバイナリとしてオープンされる。テキストモード
で扱いたい場合には、なでしこの組み込み命令を使用すると良い。
成功すると0以上のハンドルが返される。失敗した場合には-1が
返される(ファイルがない、モードが範囲外など)
・バイナリ読込
書式:バイナリ読込([int]ハンドル、[int]先ハンドル、[int]サイズ)
戻値:[int]サイズ
説明:バイナリオープンされているハンドルから、サイズ分を読み
込んで先ハンドル(バッファ)に書き込む。読み込めるサイズは
コピー先のバッファサイズに依存し、バッファサイズ以上の
データは読み込まない。読み込めたサイズは戻り値として
返される。
読み込み開始位置は現在の開始位置で、読み込む毎にオフセット
がプラスされる。現在の開始位置はバイナリ位置取得命令で
取得出来、位置の変更はバイナリシーク命令で可能である。
引数が不正な場合等、エラーの場合は-1が返される。
・バイナリ書込
書式:バイナリ書込([int]ハンドル、[int]元ハンドル、[int]サイズ)
戻値:[int]サイズ
説明:作成済みのバッファ(元ハンドル)からサイズ分読み込んで、
バイナリオープンされているハンドルに対して書き込む。
書き込めるサイズは元ハンドルのサイズに依存し、それ以上の
サイズを指定した場合は、書き込めるだけ書き込む。
(データがある分だけ書き込む)。書き込めたサイズが戻り値
として返される。
書込開始位置は、書込専用、読み書き用にオープンしている場合は
ファイルの先頭から開始し、書き込む毎にオフセットがプラスされ
る。既存ファイルの場合は一旦ファイルが消去されるので注意する
こと。追記モードの場合はファイルの終端から書込が開始される。
引数が不正な場合等、エラーの場合は-1が返される。
・バイナリシーク
書式:バイナリシーク([int]ハンドル、[int]オフセット)
戻値:[int]オフセット
説明:バイナリオープンされているハンドルの読み込み・書込開始
位置をオフセットの値に設定する。オフセットは0以上の
値で、ファイルサイズ以上の値を設定した場合には、ファイルの
末尾となる。
成功した場合にはオフセット値が、失敗した場合には-1が
返される。
・バイナリ位置取得
書式:バイナリ位置取得([int]ハンドル)
戻値:[int]位置
説明:バイナリオープンされているハンドルの、現在開始位置を
返す。引数が不正だった場合には-1が返される。
------ここまで------
ANSIでいう所のfopen, fread, fwrite, fseek, ftellに相当する関数です。
バイナリじゃない形式でファイルを扱いたい場合は、なでしこの「開く」
とか使ってください。
あと、今気がつきましたが、なでしこには「バイナリ取得」とか「バイナリ設定」
と言う命令がありますね( ̄□ ̄;。混同しない様に気をつけて下さい。