Книга: Операционная система UNIX
Функции write(2) и writev(2)
Функции write(2) и writev(2)
Функции write(2) и writev(2) очень похожи на функции read(2) и readv(2), но используются для записи данных в файл. Функции имеют следующий вид:
#include <unistd.>
ssize_t write(int fildes, void *buf, size_t nbyte);
#include <sys/types.h>
#include <sys/uio.h>
ssize_t writev(int fildes, struct iovec *iov, int iovcnt);
Аргументы, передаваемые функции write(2), указывают, что следует записать nbyte
байт в файл, связанный с дескриптором fildes
, начиная с текущего значения файлового указателя. Данные для записи находятся в буфере приложения, указанном аргументом buf
. После завершения операции значение файлового указателя будет увеличено на nbyte
.
Аналогично функции readv(2), функция writev(2) позволяет выполнить iovcnt
последовательных операций записи за одно обращение к writev(2).
Такая операция ввода/вывода получила название gather (собирать), а функции ввода/вывода, использующие набор буферов, — общее название scatter-gather.
- Основные системные функции для работы с файлами
- Листинг Б.7. (write-args.c) Запись списка аргументов в файл с помощью функции writev()
- Глава 14 Дополнительные функции ввода-вывода
- 14.4. Функции readv и writev
- Forced writes - палка о двух концах
- Forced Writes
- Аргументы функции в Python
- 3. Функции
- Новые функции API для работы с Blob и массивами
- Математические функции