oracular (3) ssize_t.3type.gz

Provided by: manpages-dev_6.8-2_all bug

NAME

       size_t, ssize_t - count of bytes

LIBRARY

       Standard C library (libc)

SYNOPSIS

       #include <stddef.h>

       typedef /* ... */  size_t;

       #include <sys/types.h>

       typedef /* ... */  ssize_t;

DESCRIPTION

       size_t Used  for a count of bytes.  It is the result of the sizeof() operator.  It is an unsigned integer
              type capable of storing values in the range [0, SIZE_MAX].

       ssize_t
              Used for a count of bytes or an error indication.  It is a signed integer type capable of  storing
              values at least in the range [-1, SSIZE_MAX].

   Use with printf(3) and scanf(3)
       size_t The  length  modifier  for  size_t  for the printf(3) and the scanf(3) families of functions is z,
              resulting commonly in %zu or %zx for printing size_t values.

       ssize_t
              glibc and most other implementations provide a length modifier for ssize_t for the  printf(3)  and
              the  scanf(3)  families  of  functions,  which is z; resulting commonly in %zd or %zi for printing
              ssize_t values.  Although z works for ssize_t on most  implementations,  portable  POSIX  programs
              should  avoid  using  it—for  example,  by  converting  the value to intmax_t and using its length
              modifier (j).

STANDARDS

       size_t C11, POSIX.1-2008.

       ssize_t
              POSIX.1-2008.

HISTORY

       size_t C89, POSIX.1-2001.

       ssize_t
              POSIX.1-2001.

       <aio.h>, <glob.h>, <grp.h>, <iconv.h>, <mqueue.h>, <pwd.h>, <signal.h>, and <sys/socket.h> define  size_t
       since POSIX.1-2008.

       <aio.h>, <mqueue.h>, and <sys/socket.h> define ssize_t since POSIX.1-2008.

NOTES

       size_t The  following  headers  also provide size_t: <aio.h>, <glob.h>, <grp.h>, <iconv.h>, <monetary.h>,
              <mqueue.h>,  <ndbm.h>,  <pwd.h>,  <regex.h>,  <search.h>,   <signal.h>,   <stdio.h>,   <stdlib.h>,
              <string.h>,  <strings.h>,  <sys/mman.h>,  <sys/msg.h>,  <sys/sem.h>,  <sys/shm.h>, <sys/socket.h>,
              <sys/types.h>, <sys/uio.h>, <time.h>, <unistd.h>, <wchar.h>, and <wordexp.h>.

       ssize_t
              The  following  headers  also  provide  ssize_t:  <aio.h>,  <monetary.h>,  <mqueue.h>,  <stdio.h>,
              <sys/msg.h>, <sys/socket.h>, <sys/uio.h>, and <unistd.h>.

SEE ALSO

       read(2),  readlink(2),  readv(2),  recv(2), send(2), write(2), fread(3), fwrite(3), memcmp(3), memcpy(3),
       memset(3), offsetof(3), ptrdiff_t(3type)