On Saturday, 25 August 2012 at 20:58:47 UTC, Jonathan M Davis wrote:
On Saturday, August 25, 2012 22:49:18 joao wrote:
Ok, so I tried both ways and gave errors:
import std.stdio, std.cstream, std.system, std.bitmanip;

File f = File("filename");
auto buf = f.rawRead(new ubyte[4]);
auto i = peek!(uint, Endian.littleEndian)(buf);

std.stdio.File conflicts with std.stream.File

Then either don't import both or use the full import.

auto file = std.stdio.File("filename");

But I wouldn't advise using std.stream for anything unless you have to. As the note in its documentation states, it's considered out-of-date and will be
replaced.

and

auto file = File("filename");
auto buffer = ubyte[](4);
buffer = file.rawRead(buffer);
auto i = peek!(uint, Endian.littleEndian)(buffer);

found '[' when expecting '.' following ubyte and ']' when
expecting identifier following 'ubyte'

It's missing new. My mistake.

auto buffer = new ubyte[](4);

or as David pointed out, you get just allocate the array in the rawRead call:

auto buf = file.rawRead(new ubyte[](4));

- Jonathan M Davis

It worked! Thanks.
Just one more question, I and to do the reverse. Like 4132 => "\x24\x10"

Reply via email to