lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Shmuel Zeigerman wrote:
Mark Meijer wrote:
For some reason, reading in an entire file, for example with simple test code like this, doesn't appear read the whole file:
local file = io.open("infile", "r");
if(file) then
local data = file:read("*a"); -- i've also tried "*all" as described in PIL
  file:close();
  file = io.open("outfile", "w");
  if(file) then
     file:write(data);
     file:close();
  end
end
Try "rb" and "wb" as the 2-nd parameter to io.open().
Yes, that's that. I tested this code on a Unix-style file (the Lua 
manual) and since I ran it on Windows, I actually got a bigger file: LFs 
were transformed to CR+LFs.
Binary files were indeed truncated. Probably on first \0 found... Adding 
b is the way to go with binary files or if you want to preserve original 
EOL.
--
Philippe Lhoste
--  (near) Paris -- France
--  http://Phi.Lho.free.fr
--  --  --  --  --  --  --  --  --  --  --  --  --  --