2014-10-16 6 views
0

내 하스켈은 지금 약간 녹슬니다. 필자가 파일에 쓰고 싶은 Ints 목록이 있습니다. 나는 빌더 등 bytestring 이걸 할 방법에 대한 언급을 볼 수 있지만 간단한 예제를 찾을 수 없습니다. 누군가 내가 도서관의 잔뜩을 연구 할 필요없이이 간단한 작업을 할 수있게 도와 줄 수 있습니까? 감사.바이너리 파일에 Ints 목록을 쓰는 가장 쉬운 방법은 무엇입니까?

답변

4

그냥 binary를 사용

import Data.Binary 
import qualified Data.ByteString.Lazy as B 

writeIntsToFile :: FilePath -> [Int] -> IO() 
writeIntsToFile fp is = B.writeFile fp ser 
    where ser = encode is 

공지 사항이 목록의 기본 인코딩 및 인터넷 용 기본 인코딩을 사용합니다. 결과적으로 파일 형식은 각 Int에 대한 많은 64 비트 값 다음에 오는 요소 수를 나타내는 64 비트 필드가됩니다. 이 모든 값은 빅 엔디안 값입니다.

+0

Perfect! 감사. – MFlamer

+0

이것을 어떻게 32 비트 리틀 엔디안으로 만들 수 있습니까? – MFlamer

+0

신경 쓰지 마라, Word32 내가 찾고 있던 – MFlamer

관련 문제