簡體   English   中英

從 boost::asio: 數組中檢索字節數據

[英]Retrieving Bytes data from boost::asio: array

我正在嘗試使用 Bytes 數據從 boost 數組中檢索數據,該數據最終應為 2 雙倍。 我不知道為什么,但我無法將緩沖區轉換為可讀格式,這是我的嘗試:

boost::array<void*, 1024> arr;
boost::system::error_code error_2;
socket_2.read_some(boost::asio::buffer(arr), error_2);  
for (int k = 0; k < 32; k++) { std::cout << arr[k]; }

我不明白如何從 arr 中檢索數據,例如不接受 memcpy。

實際上,無論你做什么都相當於 memcpy。 但是你可以讓事情變得更優雅:

boost::array<double, 4096 / sizeof(double)> arr;

boost::system::error_code ec;

size_t n = s.read_some(asio::buffer(arr), ec);

for (size_t i = 0; i < (n / sizeof(double)); ++i) {
    std::cout << arr[i];
}

如果您已經有原始緩沖區,請考慮asio::buffer_cast<>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM