On 27/08/15 9:00 PM, Andrew Brown wrote:
Hi,

I need to read a binary file, and then process it two bits at a time.
But I'm a little stuck on the first step. So far I have:

import std.file;
import std.stdio;

void main(){
   auto f = std.file.read("binaryfile");
   auto g = cast(bool[])    f;
   writeln(g);
}

but all the values of g then are just true, could you tell me what I'm
doing wrong? I've also looked at the bitmanip module, I couldn't get it
to help, but is that the direction I should be looking?

Thanks very much

Andrew

You do not use the std.file to prefix call read.
The bool type is one byte in size. A value of 0 is false, anything else is true. But commonly defined as 1.

So if you want to read only one bit you will need to use e.g. bit shifts and bitwise and operator.

I believe bitsSet may help you.
http://dlang.org/phobos/std_bitmanip.html#.bitsSet

Reply via email to