lua と io ライブラリについて 1 つ質問があります。
私はファイルサイズを取得するためのこの単純な関数を持っています:
function checkisoLIMG(file)
local iso = assert(io.open(file, "rb"));
if (iso) then
local size = iso:seek("end");
iso:close();
return size;
else
return "error";
end
end
大きなファイル (約 3GB または 4GB) のサイズを取得しようとすると、関数は nil または -1 を返しますが、小さなファイルでは問題なく動作します。誰かがこれを修正する方法を知っていますか? またはファイルサイズを取得するスクリプト。
プログラムが問題なくファイルを開き、2147483647 よりも低い位置 (2GB 未満の 1 バイト) をシークできるため、問題は io.seek ですが、2GB 以上の位置を見ようとすると失敗します。
前もって感謝します