トップページ > 記事閲覧
FileRead_sizeとFileRead_read
名前:Ketty 日時: 2015/02/02 13:54

管理人様 いつも楽しくDXライブラリを利用させていただいております。 FileRead_sizeについて、 リファレンスによると戻り値はint型となっておりますが、実際はLONGLONGで定義されているようです。 http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_other.html#R19N2 【DxLib.hより抜粋】/////////////////////////////////////////////////////////// extern LONGLONG FileRead_size( const TCHAR *FilePath ) ; ////////////////////////////////////////////////////////////////////////////// リファレンスの更新をお願いしたく思います。 また、 FileRead_readについて、 こちらの第2引数の読み出しサイズは、リファレンス通り、int型で定義されているようです。 http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_other.html#R19N6 【DxLib.hより抜粋】/////////////////////////////////////////////////////////// extern int FileRead_read( void *Buffer , int ReadSize , int FileHandle ) ; ////////////////////////////////////////////////////////////////////////////// そこで、 FileRead_sizeによって、サイズを求めたあと、ファイル内容をまるごと FileRead_readでバッファに格納したい場合、intへのキャストが必要になってしまうので、 FileRead_readの第2引数をLONGLONGに拡張していただけないでしょうか? あるいは、何か手立てがありましたらご教示ください。 本件は、Ver 3.13dでおうかがいしております。 よろしくお願いします。
メンテ

Page: 1 |

Re: FileRead_sizeとFileRead_read ( No.1 )
名前:管理人 日時:2015/02/03 02:38

ご指摘ありがとうございます 戻り値を LONGLONG 型に変更した後、リファレンスを変更するのを忘れていました m(_ _;m FileRead_read の引数 ReadSize の型を LONGLONG にする件ですが、LONGLONG に変更する場合 FileRead_read 関係の処理をそれなりに書き換えなければならないので( Win32API 事態が 4GB 以上一度に読み込むことができないので、LONGLONG で 4GB 以上の値を指定された場合は 複数回に分けて読み込むようにする必要がある為 )、ちょっと直ぐには対応できません 申し訳ありませんが int 型にキャストしてください
メンテ
Re: FileRead_sizeとFileRead_read ( No.2 )
名前:Ketty(解決) 日時:2015/02/03 10:00

お忙しい中、迅速にご回答くださりありがとうございました。 なるほど、4GB以上は一度に読み込めないという事情があったのですね。 存じませんでした。 私の場合はintの範囲で十分ですので、素直にキャストするようにします(^_^) どうもありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存