Попробуйте прочитать определенное количество данных в указанном смещение перед возвращением.
template<
typename SyncRandomAccessReadDevice,
typename Allocator>
std::size_t read_at(
SyncRandomAccessReadDevice & d,
uint64_t offset,
basic_streambuf< Allocator > & b,
boost::system::error_code & ec);
Эта функция используется для считывания определенного количества байтов данных с устройства случайного доступа в указанном смещение. Звонок будет блокироваться до тех пор, пока не будет выполнено одно из следующих условий:
Эта операция реализована с точки зрения нуля или более вызовов функции read_some_at устройства.
- d
Устройство, с которого следует считывать данные. Тип должен поддерживать концепцию SyncRandomAccessReadDevice.
- offset
Смещение, при котором будут считаны данные.
- b
<basic_streambuf
>объект, в который будут считаны данные.
- ec
Установить, какая ошибка произошла, если таковая имеется.
Количество переданных байтов.
Эта перегрузка эквивалентна вызову:
boost::asio::read_at(
d, 42, b,
boost::asio::transfer_all(), ec);