Write (system call)

The write is one of the most basic routines provided by a Unix-like operating system kernel. It writes data from a buffer declared by the user to a given device, such as a file. This is the primary way to output data from a program by directly using a system call. The destination is identified by a numeric code. The data to be written, for instance a piece of text, is defined by a pointer and a size, given in number of bytes.

thus takes three arguments:
 * 1) The file code (file descriptor or fd).
 * 2) The pointer to a buffer where the data is stored (buf).
 * 3) The number of bytes to write from the buffer (nbytes).

POSIX usage
The write call interface  is standardized by the POSIX specification. Data is written to a file by calling the write function. The function prototype is:

In above syntax,  is a. It is a signed data type defined in. Note that  does not return an unsigned value; it returns -1 if an error occurs so it must return a signed value. The write function returns the number of bytes successfully written into the file, which may at times be less than the specified nbytes. It returns -1 if an exceptional condition is encountered, see section on errors below.

Linux
On Linux, write is system call number 1.