如何为 ByteString 创建 Ptr Word8



create,来自Data.ByteString.Internal,声明它需要一个Ptr Word8才能创建一个ByteString。我猜这就像是对字节头或其他东西的引用。但是,我不确定我应该使用什么来创建新指针 - 我相当确定它没有使用 nullPtr 正确完成。

不,create给你一个指向要填充的内存的指针:

create :: Int -> (Ptr Word8 -> IO ()) -> IO ByteString
第一个参数是要创建的字节串的

长度,第二个参数是填充字节串的函数。基本上create分配指定大小的内存缓冲区,然后使用指向缓冲区的指针调用函数。使用示例:

> create 5 $ ptr -> pokeArray ptr [65, 66, 67, 68, 69]
"ABCDE"

相关内容

  • 没有找到相关文章

最新更新