[英]Ptr Word8 to [Word8]
我正在使用库Network.Pcap
,它具有toBS
的功能
toBS :: (PktHdr, Ptr Word8) -> IO (PktHdr, B.ByteString)
toBS (hdr, ptr) = do
let len = hdrCaptureLength hdr
s <- B.create (fromIntegral len) $ \p -> B.memcpy p ptr (fromIntegral len)
return (hdr, s)
现在,我正在打开ByteString的包装,这给了我所需的[Word8]
。 我正在寻找避免解压ByteString
并直接获取[Word8]
。
(1)这个功能存在吗? (2)如果没有,请问我如何进行操作?
我对那些库不熟悉,但是您不能这样做吗?
import Foreign.Marshal.Array
toByteList :: PktHdr -> Ptr Word8 -> IO [Word8]
toByteList hdr ptr = peekArray (fromIntegral (hdrCaptureLength hdr)) ptr
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.