Boost C++ 库

...世界上最受推崇和专业设计的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu,《C++ 编码标准

PrevUpHomeNext

read_until(24 个重载中的第 4 个)

读取数据到动态缓冲区序列,直到它包含指定的定界符。

template<
    typename SyncReadStream,
    typename DynamicBuffer_v1>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v1 && buffers,
    string_view delim,
    boost::system::error_code & ec,
    constraint_t< is_dynamic_buffer_v1< decay_t< DynamicBuffer_v1 > >::value >  = 0,
    constraint_t< !is_dynamic_buffer_v2< decay_t< DynamicBuffer_v1 > >::value >  = 0);

此函数用于将数据读取到指定的动态缓冲区序列,直到该动态缓冲区序列的获取区域包含指定的定界符。调用将阻塞,直到以下条件之一为真

此操作通过零次或多次调用流的 read_some 函数来实现。如果动态缓冲区序列的获取区域已包含定界符,则该函数立即返回。

参数

s

要从中读取数据的流。该类型必须支持 SyncReadStream 概念。

buffers

数据将要读取到的动态缓冲区序列。

delim

定界符字符串。

ec

设置以指示发生了什么错误(如果有)。

返回值

动态缓冲区序列的获取区域中直到并包括定界符的字节数。如果发生错误,则返回 0。

备注

在成功的 read_until 操作之后,动态缓冲区序列可能包含超出定界符的额外数据。应用程序通常会将该数据留在动态缓冲区序列中,以供后续的 read_until 操作检查。


PrevUpHomeNext