Binary IO
Simon Marlow
simonmar at microsoft.com
Thu Apr 21 05:32:59 EDT 2005
On 20 April 2005 22:35, Scott Turner wrote:
> On 2005 April 20 Wednesday 15:56, Iavor Diatchki wrote:
>> I've been playing around with decoding binary files, and I couldn't
>> find a function in the libraries to read a byte from a file. Does
>> anyone know if there is such a function? ....... it seems
>> that we should have:
>> hGetByte :: Handle -> IO Word8
>
> hGetByte could be implemented on top of hGetBuf and StorableArray,
> but the overhead would be ugly. Recently I needed binary input for
> similar reasons, and would have used hGetByte had it been available.
> I ended up performing input using a reasonable-sized buffer.
In GHC, you can assume that
hGetByte h = do c <- hGetChar h; return (fromIntegral (ord c))
you must open the file in binary mode (openBinaryFile). I don't think
this works with Hugs, though.
Personally, I think this ought to be part of the redesign of the I/O
library. hGetByte and hPutByte would be a stopgap. But, not much
progress is being made on an I/O redesign right now.
Cheers,
SImon
More information about the Libraries
mailing list