Прочитайте некоторые данные с ручки в указанном смещении.
template<
    typename MutableBufferSequence>
std::size_t read_some_at(
    uint64_t offset,
    const MutableBufferSequence & buffers);
Эта функция используется для считывания данных из ручки случайного доступа. Функциональный вызов блокируется до тех пор, пока один или несколько байтов данных не будут успешно прочитаны или пока не произойдет ошибка.
- offset
 
Смещение, при котором будут считаны данные.
 
- buffers
 
Один или несколько буферов, в которые будут считываться данные.
 
 
Количество прочитанных байтов.
- boost::system::system_error
 
Выброшен на провал. Код ошибки<boost::asio::error::eof>указывает, что соединение было закрыто сверстником.
 
 
Операция read_some может не считывать все запрашиваемое количество байтов. Подумайте об использовании функции<read_at>, если вам нужно убедиться, что запрошенный объем данных считывается до завершения операции блокировки.
Для считывания в единый буфер данных используется функция<buffer>:
handle.read_some_at(42, boost::asio::buffer(data, size));
Смотрите документацию<buffer>для информации о считывании в несколько буферов за один раз, и как использовать ее с массивами, нарастить::array или std::vector.