関数型プログラミング言語Haskell Part10
■ このスレッドは過去ログ倉庫に格納されています
0588デフォルトの名無しさん
2009/06/05(金) 21:11:57亀だがやってみた
Offってやつがそれ
import Foreign
import System.IO
import Control.Monad.State
main :: IO ()
main = do
writeHoge file hoge
hoge' <- readHoge file
print $ hoge == hoge'
where
file = "hoge.txt"
hoge = Hoge 3 5 [1,3..32]
-- 書き
writeHoge :: FilePath -> Hoge -> IO ()
writeHoge file hoge = do
withBinaryFile file WriteMode $ \h -> do
with hoge $ \p -> do
hPutBuf h p $ sizeOf hoge
-- 読み
readHoge :: FilePath -> IO Hoge
readHoge file = do
withBinaryFile file ReadMode $ \h -> do
alloca $ \p -> do
hGetBuf h p $ sizeOf (undefined :: Hoge)
peek p
{-
■ このスレッドは過去ログ倉庫に格納されています