Write (system call)

Short description: System call in a Unix-like operating system kernel

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.

`write` 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).

## Contents

* 1 POSIX usage
* 2 See also
* 3 References
* 4 External links

## POSIX usage

The write call interface[1][2][3] is standardized by the POSIX specification. Data is written to a file by calling the write function. The function prototype is:

ssize_t write(int fildes, const void *buf, size_t nbyte);

Argument | Description

|

fildes

| The file descriptor obtained from a call to open(). It is an integer value. The values 0, 1, 2 can also be given, for standard input, standard output & standard error, respectively .

buf

| Points to a character array, with content to be written to the file pointed to by filedes.

nbyte

| Specifies the number of bytes to be written from the character array, buf, into the file pointed to by filedes.

In above syntax, `ssize t` is a `typedef`. It is a signed data type defined in `stddef.h`. Note that `write()` 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.

## See also

* fwrite
* getchar
* fprintf
* read (system call)
* sync (Unix)

## References

1. ↑ http://www.unix.com/man-page/FreeBSD/2/write/ Manual page for Write
2. ↑ https://www.gnu.org/s/hello/manual/libc/I_002fO-Primitives.html#I_002fO-Primitives I/O Primitives
3. ↑ "Write". http://pubs.opengroup.org/onlinepubs/007904875/functions/write.html.

## External links

* POSIX write

* v
* t
* e

Computer files

Types|

* Binary file / text file
* File format
* List of file formats
* File signatures
* Magic number
* Metafile
* Sidecar file
* Sparse file
* Swap file
* System file
* Temporary file
* Zero-byte file

Properties|

* Filename
* 8.3 filename
* Long filename
* Filename mangling
* Filename extension
* List of filename extensions
* File attribute
* Extended file attributes
* File size
* Hidden file / Hidden directory

Organisation|

* Directory/folder
* NTFS junction point
* Temporary folder
* Directory structure
* File sequence
* File system
* Filesystem Hierarchy Standard
* Path

Operations|

* Open
* Close
* Read
* Write

Linking|

* Alias
* File descriptor
* Hard link
* Shadow
* Shortcut
* Symbolic link

Management|

* File comparison
* File compression
* File manager
* Comparison of file managers
* File system permissions
* File transfer
* File sharing
* File verification

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Write (system call). Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Write_(system_call)&oldid=269036"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template