50 lines
1.5 KiB
Plaintext
50 lines
1.5 KiB
Plaintext
|
[/
|
||
|
/ Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
|
||
|
/
|
||
|
/ Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||
|
/ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||
|
/]
|
||
|
|
||
|
[section:files Files]
|
||
|
|
||
|
[note This feature requires I/O completion ports on Windows, and io_uring on
|
||
|
Linux (define `BOOST_ASIO_HAS_IO_URING` to enable).]
|
||
|
|
||
|
Boost.Asio provides support for manipulating stream-oriented and random-access files.
|
||
|
For example, to write to a newly created stream-oriented file:
|
||
|
|
||
|
boost::asio::stream_file file(
|
||
|
my_io_context, "/path/to/file",
|
||
|
boost::asio::stream_file::write_only
|
||
|
| boost::asio::stream_file::create
|
||
|
| boost::asio::stream_file::truncate);
|
||
|
|
||
|
file.async_write_some(my_buffer,
|
||
|
[](error_code e, size_t n)
|
||
|
{
|
||
|
// ...
|
||
|
});
|
||
|
|
||
|
or to read from a random-access file:
|
||
|
|
||
|
boost::asio::random_access_file file(
|
||
|
my_io_context, "/path/to/file",
|
||
|
boost::asio::random_access_file::read_only);
|
||
|
|
||
|
file.async_read_some_at(1234, my_buffer,
|
||
|
[](error_code e, size_t n)
|
||
|
{
|
||
|
// ...
|
||
|
});
|
||
|
|
||
|
[heading See Also]
|
||
|
|
||
|
[link boost_asio.reference.basic_file basic_file],
|
||
|
[link boost_asio.reference.basic_random_access_file basic_random_access_file],
|
||
|
[link boost_asio.reference.basic_stream_file basic_stream_file],
|
||
|
[link boost_asio.reference.file_base file_base],
|
||
|
[link boost_asio.reference.random_access_file random_access_file],
|
||
|
[link boost_asio.reference.stream_file stream_file].
|
||
|
|
||
|
[endsect]
|