1
create來自Data.ByteString.Internal,聲明它需要Ptr Word8
才能創建ByteString。我猜這就像是對字節串頭部的引用。然而,我不確定我應該用什麼來創建一個新的指針 - 我相當肯定它沒有用nullPtr正確地完成。如何爲ByteString創建Ptr Word8
create來自Data.ByteString.Internal,聲明它需要Ptr Word8
才能創建ByteString。我猜這就像是對字節串頭部的引用。然而,我不確定我應該用什麼來創建一個新的指針 - 我相當肯定它沒有用nullPtr正確地完成。如何爲ByteString創建Ptr Word8
不,create
爲您提供了一個指向內存填寫:
create :: Int -> (Ptr Word8 -> IO()) -> IO ByteString
第一個參數是字節字符串創建的長度,第二個是一個函數,填充的字節串。基本上create
分配指定大小的內存緩衝區,然後用指向緩衝區的指針調用函數。使用示例:
> create 5 $ \ptr -> pokeArray ptr [65, 66, 67, 68, 69]
"ABCDE"