[/ / 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]