size_t

Section: Misc. Reference Manual Pages (3type)
Updated: 2023-02-05
Index Return to Main Contents
 

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 al 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).
 

VERSIONS

size_t
<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.
ssize_t
<aio.h>, <mqueue.h>, and <sys/socket.h> define ssize_t since POSIX.1-2008.
 

STANDARDS

size_t: C99 and later; POSIX.1-2001 and later.

ssize_t: POSIX.1-2001 and later.  

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)


 

Index

NAME
LIBRARY
SYNOPSIS
DESCRIPTION
Use with printf(3) and scanf(3)
VERSIONS
STANDARDS
NOTES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 10:11:31 GMT, May 18, 2024