Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

read(2V)

write(2V)

fopen(3S)

getc(3S)

putc(3S)

gets(3S)

puts(3S)

printf(3S)

scanf(3S)

fread(3V)

FREAD(3S)  —  STANDARD I/O LIBRARY

NAME

fread, fwrite − buffered binary input/output

SYNOPSIS

#include <stdio.h>

fread(ptr, size, nitems, stream)
FILE ∗stream;

fwrite(ptr, size, nitems, stream)
FILE ∗stream;

DESCRIPTION

fread reads, into a block pointed to by ptr, nitems of data from the named input stream, where an item of data is a sequence of bytes (not necessarily terminated by a null byte) of length size. It returns the number of items actually read. fread stops appending bytes if an end-of-file or error condition is encountered while reading stream, or if nitems items have been read.  fread leaves the file pointer in stream, if defined, pointing to the byte following the last byte read if there is one. fread does not change the contents of stream.

If the standard output is line-buffered, fread flushes its output before reading from the standard input.  This is also true for the standard error. 

fwrite appends at most nitems of data from the block pointed to by ptr to the named output stream. It returns the number of items actually written. fwrite stops appending when it has appended nitems items of data or if an error condition is encountered on stream. fwrite does not change the contents of the block pointed to by ptr.

The argument size is typically sizeof(∗ptr) where the pseudo-function sizeof specifies the length of an item pointed to by ptr. If ptr points to a data type other than char it should be cast into a pointer to char.

If size or nitems is non-positive, no characters are read or written and 0 is returned by both fread and fwrite.

SEE ALSO

read(2V), write(2V), fopen(3S), getc(3S), putc(3S), gets(3S), puts(3S), printf(3S), scanf(3S), fread(3V)

DIAGNOSTICS

fread and fwrite return 0 upon end of file or error. 

Sun Release 3.2  —  Last change: 15 April 1986

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026