繁体   English   中英

将Word8转换为[Word8]

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM