Главная » 2016 » Март » 28 » Запись при помощи системного вызова write()
12:12
Запись при помощи системного вызова write()
Самый простой и распространенный системный вызов, используемый для записи,— это w riteO . Вызов w r iteO представляет собой эквивалент readO и такжеопределен в POSIX.1:finclude <unistd.h>ssize t write (int fd, const void *buf, size t count);Когда вы делаете вызов w n te ( ), начиная с текущей позиции в файле, указанномпри помощи файлового дескриптора fd, в него записывается до count байтовиз буфера buf. Файлы, представляющие объекты, которые не поддерживаютпоиск (например, устройства посимвольного ввода-вывода), всегда записываютсяначиная с «головы».В случае успеха возвращается количество записанных байтов, а позицияв файле соответствующим образом обновляется. В случае ошибки возвращаетсязначение -1 и соответствующим образом устанавливается переменная еггпо.Вызов w r iteO может вернуть значение 0, но оно всего лишь указывает, чтобыло записано ноль байт.Как и для вызова readO, самый простой вариант использования write О выглядиттак:const char *buf = "My ship is solid!".ssize_t nr./* записать строку из 'buf' в 'fd' */nr = write (fd. buf. strlen (buf)).if (nr
Просмотров: 192 | Добавил: admin | Рейтинг: 0.0/0
Всего комментариев: 0
avatar