Mail Archives: djgpp/2000/03/29/00:58:46
I don't think it's possible to retrieve only one bit from a file.. it
must be at least the smallest memory type size, which is a byte. If you
know how many bits you want to read in advance (let's use 22 as an
exemple), then you could load a factor of this (eg: 22bits * 4 = 88bits
== 11 bytes) into a buffer, and work with this buffer. If you don't know
in advance, then your algorithm might become complex (or slow, or
both...) What is it for anyway? Maybe knowing the use for such an
algorithm would help finding a better way to do it.
I doubt the snippets retrieve only one bit at a time, but if they do,
please post its location..
.(Trancelucid).
. Jaune .
Krogg wrote:
>
> This method isnt what i am looking for....I know how
> to see the individual bits in a byte but i want to be
> able to say read the next n bits and see if they are
> on or off....maybe i want the next 7 or the next 22
> bits....I found some code in the snippits archive
> that seems promising for this purpose but i am still
> trying to figure out how to implement it....
>
> Its got functions like these:
>
> bfile * bfopen(char *name, char *mode);
> int bfread(bfile *bf);
> void bfwrite(int bit, bfile *bf);
> void bfclose(bfile *bf);
>
> and a struct like this:
>
> typedef struct {
> FILE * file; /* for stream I/O */
> char rbuf; /* read bit buffer */
> char rcnt; /* read bit count */
> char wbuf; /* write bit buffer */
> char wcnt; /* write bit count */
> } bfile;
>
> I am trying to figure out how to chop out the junk
> and use this,but if some one esle had some thing better
> i would welcome the help.
>
> Thnaks.
- Raw text -