Sint32 nuTexFread( buf, size )
void* buf
Sint32 size
buf リード先 size サイズ
1 成功 −1 失敗
nuTexFopen()関数でオープンしたファイルを完了復帰でバイトリードします。
●バイトリードの内部基本動作
指定されたサイズでは足りない場合はファイルバッファにある分をすべてリード先にコピーし、残りのバイト数からセクタ数を計算し、計算したセクタ数マイナス1セクタをユーザー指定のリード先に続けてリードする。 残りのバイトは、ファイルバッファに一旦1セクタ分リードした後続きの部分をリード先にコピーする。
- ファイルオープンのとき、ファイルバッファ(1セクタ、2kバイト)にロードする。
- nuTexFread関数で指定されたサイズがファイルバッファにあるもので足りる場合ファイルバッファからコピーする。
if(njTexFopen(filename) < 0){ return ERROR; } if(nuTexFread(buf,size) < 0){ nuTexFclose(); return ERROR; }
ファイルバッファからリード先へのコピーが入りますので遅い場合があります。 メモリに余裕がある場合や、バイトリードが必要ない場合はこの関数は使用しないでください。この関数はnuLoadTexturePvmFile()で使用しています。