Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

write (3 of 8 overloads)

Boost , Boost.Asio , write

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Запишите определенное количество данных в поток перед возвращением.

template<
    typename SyncWriteStream,
    typename ConstBufferSequence,
    typename CompletionCondition>
std::size_t write(
    SyncWriteStream & s,
    const ConstBufferSequence & buffers,
    CompletionCondition completion_condition);

Эта функция используется для записи определенного количества байтов данных в поток. Звонок будет блокироваться до тех пор, пока не будет выполнено одно из следующих условий:

  • Все данные в предоставленных буферах были записаны. То есть переданные байты равны сумме буферных размеров.
  • Объект функции завершения_условия возвращает 0.

Эта операция реализована с точки зрения нулевого или большего количества вызовов функции write_some потока.

Parameters

s

Поток, к которому должны быть записаны данные. Этот тип должен поддерживать концепцию SyncWriteStream.

buffers

Один или несколько буферов, содержащих данные, подлежащие записи. Сумма размеров буфера указывает на максимальное количество байтов для записи в поток.

completion_condition

Объект функции должен быть вызван, чтобы определить, завершена ли операция записи. Подпись объекта функции должна быть:

std::size_t completion_condition(
  // Result of latest write_some operation.
  const boost::system::error_code& error,
  // Number of bytes transferred so far.
  std::size_t bytes_transferred
);

Возвратное значение 0 означает, что операция записи завершена. Ненулевое значение возврата указывает на максимальное количество байтов, которые будут записаны на следующем вызове функции write_some потока.

Return Value

Количество переданных байтов.

Exceptions

boost::system::system_error

Выброшен на провал.

Example

Для записи одного буфера данных используйте функцию<buffer>следующим образом:

boost::asio::write(s, boost::asio::buffer(data, size),
    boost::asio::transfer_at_least(32));

См. документацию<buffer>для информации о написании нескольких буферов за один раз, а также о том, как использовать его с массивами, нарастить::array или std::vector.


PrevUpHomeNext

Статья write (3 of 8 overloads) раздела Boost.Asio write может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: write ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 20:34:10/0.025432109832764/1