Write data to a file or a stream.
Writes data and returns the number of bytes that were
actually written. It can be less than the size of the given data if
some data was written successfully and then something went
wrong, or
nonblocking mode is used and not all data could be written
without blocking.
-1 is returned if something went wrong and no bytes were written.
If only some data was written due to an error and that error
persists, then a later call to write() fails and returns -1.
If everything went fine, a call to errno() directly afterwards
returns zero.
If data is an array of strings, they are written in sequence.
If more than one argument is given, sprintf() is used to format
them using format . If format is an array, the strings in it
are concatenated and the result is used as format string.
If there are any file descriptors that have been queued for sending
(with send_fd() ), they will be sent.