summaryrefslogtreecommitdiff
path: root/testsuite/tests/lib/IO/readwrite001.hs
blob: 4a94ef10eb082131a7b38dfcfe7f039e61e28de8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
-- !!! RW files 

module Main(main) where

import System.IO
import System.Directory ( removeFile, doesFileExist )
import Control.Monad

main = do
  f <- doesFileExist "readwrite001.inout" 
  when f (removeFile "readwrite001.inout")
  hdl <- openFile "readwrite001.inout" ReadWriteMode
  hSetBuffering hdl LineBuffering
  hPutStr hdl "as"
  hSeek hdl AbsoluteSeek 0
  ch <- hGetChar hdl
  print ch
  hPutStr hdl "ase"
  hSeek hdl AbsoluteSeek 0
  putChar '\n'
  ls <- hGetContents hdl
  putStrLn ls