IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

バイナリデータの書き出し

意外にもシンプルなサンプルが見つけられなかったのでメモ。
というかこれであってるのかなぁ。。

import System.IO
import qualified Data.ByteString.Lazy as BL
import Data.Binary.Put

main :: IO ()
main = do
    whandle <- openFile "foo_out2.txt" WriteMode
    BL.hPut whandle $ runPut $ mapM_ putWord8 $ concat [[255,0,234],[1,2,3]]
    hClose whandle

実行結果はこちら

test$ runghc ./io-sample-05.hs 
test$ hexdump -C foo_out2.txt 
00000000  ff 00 ea 01 02 03                                 |......|
00000006
test$