[Haskell] Read and write file on Windows XP.

Alexandre Weffort Thenorio alethenorio at home.se
Sun Apr 24 12:01:34 EDT 2005


I have a small program which simply reads a text file, gets the second line
and changes it and writes a clone file with the second line changed.

Basically it looks like that:

main :: IO()
main =do
            -- Some code here
            hexFile <- catch (readFile "int.hex") (\_ -> do putStrLn "File
int.hex not found"
         getLine
         exitWith ExitSuccess)
         --some code here
         newLine <- outputLine keyno key (lines(hexFile))
         --finish code for main function here

outputLine keyno key orgFile = do
                                                -- Some code that modifies
second line here
                                                newHexFile <- openFile
"newint.hex" WriteMode
                                                 hPutStrLn newHexFile
(orgFile!!0 ++ "\n" ++ final ++ unlines (drop 2 orgFile))


The final variable above is the string containing the second line.

What happens is everything works fine on my PC (Windows 2000) but on another
PC (Using Windows XP) it sometimes gives a file which is incomplete, a
couple of lines missing in the end making the file smaller and wrong. So I
was wondering could it be the computer itself or is there any issue with
Windows XP when it comes to reading and writing files. I tried using
openFileEx but to my surprise it says it is deprecated (Which function to se
instead then?).

Best Regards

NooK



More information about the Haskell mailing list