Index of Section 3 Manual Pages

Interix / SUAfread.3Interix / SUA

fread(3)                                                       fread(3)

  fread()

  NAME

    fread(), fwrite() - binary stream input/output

  SYNOPSIS

    #include 

    int fread (void *ptr, size_t size, size_t nmemb, FILE *stream)
    int fwrite (const void *ptr, size_t size, size_t nmemb,
         FILE *stream)

  DESCRIPTION

    The function fread(3) reads nmemb objects, each size(1) bytes long, from
    the stream pointed to by stream, storing them at the location given by
    ptr.

    The function fwrite(3) writes nmemb objects, each size bytes long, to the
    stream pointed to by stream, obtaining them from the location given by
    ptr. The functions fread(3) and fwrite(3) advance the file position
    indicator for the stream by the number of bytes read or written.

  RETURN VALUES

    Fread(3) and fwrite(3) return the number of objects read or written. If an
    error occurs, or the end-of-file is reached, the return value is a short
    object count (or zero).

    Because the function fread(3) does not distinguish between end-of-file and
    error, callers must use feof(3) and ferror(3) to determine which occurred.

    The function fwrite(3) returns a value less than nmemb only if a write
    error has occurred.

  ERRORS

    Fread(3) can set errno to the following values:

    [EBADF]
        Stream is not a valid file or socket descriptor open for reading.

    [EFAULT]
        Ptr points outside the allocated address space.

    [EIO]
        An I/O error occurred while reading from the file system.

    [EINTR]
        Before any data arrived, a read from a slow device was interrupted by
        the delivery of a signal.

    [EINVAL]
        The pointer associated with stream was negative.

    [EAGAIN]
        The file was marked for non-blocking I/O, and no data were ready to be
        read.

    Fwrite(3) can set errno to the following values:

    [EBADF]
        Stream is not a valid descriptor open for writing.

    [EPIPE]
        An attempt is made to write to a pipe that is not open for reading by
        any process.

    [EFBIG]
        An attempt was made to write a file that exceeds the process's file
        size limit or the maximum file size.

    [EFAULT]
        Part of the data to be written to the file points outside the
        process's allocated address space.

    [EINVAL]
        The pointer associated with stream was negative.

    [ENOSPC]
        There is no free space remaining on the file system containing the
        file.

    [EIO]
        An I/O error occurred while reading from or writing to the file
        system.

    [EAGAIN]
        The file was marked for non-blocking I/O, and no data could be written
        immediately.

  SEE ALSO

    read(2)

    write(2)

  USAGE NOTES

    All of these functions are thread safe.

    None of these functions are async-signal safe.


Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA