The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

write ()
  • write (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • write (1) ( FreeBSD man: Команды и прикладные программы пользовательского уровня )
  • write (1) ( Linux man: Команды и прикладные программы пользовательского уровня )
  • write (1) ( POSIX man: Команды и прикладные программы пользовательского уровня )
  • write (2) ( Solaris man: Системные вызовы )
  • write (2) ( FreeBSD man: Системные вызовы )
  • >> write (2) ( Русские man: Системные вызовы )
  • write (2) ( Linux man: Системные вызовы )
  • write (3) ( POSIX man: Библиотечные вызовы )
  • write (9) ( Solaris man: Ядро )
  •  

    НАЗВАНИЕ

    write - производит запись в описатель файла  

    СИНТАКСИС

    #include <unistd.h>

    ssize_t write(int fd, const void *buf, size_t count);  

    ОПИСАНИЕ

    write записывает до count байтов из буфера buf в файл, на который ссылается файловый описатель fd. POSIX указывает на то, что вызов write(), произошедший после вызова read() возвращает уже новое значение. Заметьте, что не все файловые системы соответствуют стандарту POSIX.  

    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ

    В случае успешного завершения возвращается количество байтов, которые были записаны (ноль означает, что не было записано ни одного байта). В случае ошибки возвращается -1, а переменной errno присваивается соответствующее значение. Если count равен нулю, а файловый описатель ссылается на обычный файл, то будет возвращен ноль и больше не будет произведено никаких действий. Для специальных файлов результаты не могут быть перенесены на другую платформу.  

    НАЙДЕННЫЕ ОШИБКИ

    EBADF
    fd не является правильным файловым описателем или же не открыт для записи.
    EINVAL
    fd связан с объектом, не подлежащим записи.
    EFAULT
    buf указывает за пределы доступного адресного пространства.
    EFBIG
    Была выполнена попытка записи файла, размер которого превышает максимально определенный системой или процессом лимит, или была попытка записать в файле данные в позицию за пределами максимального допустимого смещения.
    EPIPE
    fd соединен с каналом (pipe) или сокетом, но принимающее соединение разорвано. Когда это происходит, записывающий процесс получает сигнал SIGPIPE. (Таким образом, возвращаемое write значение видно, только если программа ловит, блокирует или игнорирует этот сигнал).
    EAGAIN
    С помощью флага O_NONBLOCK был запрошен неблокированый ввод-вывод, а запись была в блокирующем режиме.
    EINTR
    Системный вызов был прерван сигналом до того, как был записан хотя бы один байт данных.
    ENOSPC
    На устройстве, содержащем файл, описываемый fd, нет места для записи данных.
    EIO
    При модификации inode произошла низкоуровневая ошибка ввода-вывода.

    Могут произойти не описанные выше ошибки в зависимости от объекта, связанного с fd.  

    СООТВЕТСТВИЕ СТАНДАРТАМ

    SVr4, SVID, POSIX, X/OPEN, 4.3BSD. SVr4 описывают дополнительные коды ошибок EDEADLK, ENOLCK, ENOLNK, ENOSR, ENXIO или ERANGE. Для SVr3 этот системный вызов может быть прерван и вернет EINTR в любой ситуации, а не только до записи хотя бы одного байта данных.  

    ЗАМЕЧАНИЯ

    Успешное завершение write не гарантирует, что данные были записаны на диск. В действительности, в некоторых реализациях, содержащих ошибки, не гарантируется даже выделение места под данные. Единственный способ гарантировать запись данных - это вызвать fsync(2) по окончании записи ваших данных.  

    СМ. ТАКЖЕ

    close(2), fcntl(2), fsync(2), ioctl(2), lseek(2), open(2), read(2), select(2), fwrite(3), writev(3)


     

    Index

    НАЗВАНИЕ
    СИНТАКСИС
    ОПИСАНИЕ
    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
    НАЙДЕННЫЕ ОШИБКИ
    СООТВЕТСТВИЕ СТАНДАРТАМ
    ЗАМЕЧАНИЯ
    СМ. ТАКЖЕ


    Поиск по тексту MAN-ов: 




    Спонсоры:
    MIRhosting
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру