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"