<assert.h> Contains the assert macro, used to assist with detecting logical errors and other types of bug in debugging versions of a program.
<complex.h> C99 A set of functions for manipulating complex numbers.
<ctype.h> Defines set of functions used to classify characters by their types or to convert between upper and lower case in a way that is independent of the used character set (typically ASCII or one of its extensions, although implementations utilizing EBCDIC are also known).
<errno.h> For testing error codes reported by library functions.
<fenv.h> C99 Defines a set of functions for controlling floating-point environment.
<float.h> Defines macro constants specifying the implementation-specific properties of the floating-point library.
<inttypes.h> C99 Defines exact width integer types.
<iso646.h> NA1 Defines several macros that implement alternative ways to express several standard tokens. For programming in ISO 646 variant character sets.
<limits.h> Defines macro constants specifying the implementation-specific properties of the integer types.
<locale.h> Defines localization functions.
<math.h> Defines common mathematical functions.
<setjmp.h> Declares the macros setjmp and longjmp, which are used for non-local exits.
<signal.h> Defines signal handling functions.
<stdalign.h> C11 For querying and specifying the alignment of objects.
<stdarg.h> For accessing a varying number of arguments passed to functions.
<stdatomic.h> C11 For atomic operations on data shared between threads.
<stdbool.h> C99 Defines a boolean data type.
<stddef.h> Defines several useful types and macros.
<stdint.h> C99 Defines exact width integer types.
<stdio.h> Defines core input and output functions
<stdlib.h> Defines numeric conversion functions, pseudo-random numbers generation functions, memory allocation, process control functions
<stdnoreturn.h> C11 For specifying non-returning functions.
<string.h> Defines string handling functions.
<tgmath.h> C99 Defines type-generic mathematical functions.
<threads.h> C11 Defines functions for managing multiple Threads as well as mutexes and condition variables.
<time.h> Defines date and time handling functions
<uchar.h> C11 Types and functions for manipulating Unicode characters.
<wchar.h> NA1 Defines wide string handling functions.
<wctype.h> NA1 Defines set of functions used to classify wide characters by their types or to convert between upper and lower case
<aio.h> Asynchronous input and output Issue 5
<arpa/inet.h> Functions for manipulating numeric IP addresses (part of Berkeley sockets) Issue 6
<assert.h> Verify assumptions ??
<complex.h> Complex Arithmetic, see C mathematical functions ??
<cpio.h> Magic numbers for the cpio archive format Issue 3
<dirent.h> Allows the opening and listing of directories Issue 2
<dlfcn.h> Dynamic linking Issue 5
<errno.h> Retrieving Error Number ??
<fcntl.h> File opening, locking and other operations Issue 1
<fenv.h> Floating-Point Environment (FPE), see C mathematical functions ??
<float.h> Floating-point types, see C data types ??
<fmtmsg.h> Message display structures Issue 4
<fnmatch.h> Filename matching Issue 4
<ftw.h> File tree traversal Issue 1
<glob.h> Pathname "globbing" (pattern-matching) Issue 4
<grp.h> User group information and control Issue 1
<iconv.h> Codeset conversion facility Issue 4
<inttypes.h> Fixed sized integer types, see C data types ??
<iso646.h> Alternative spellings, see C alternative tokens ??
<langinfo.h> Language information constants – builds on C localization functions Issue 2
<libgen.h> Pathname manipulation Issue 4
<limits.h> Implementation-defined constants, see C data types ??
<locale.h> Category macros, see C localization functions ??
<math.h> Mathematical declarations, see C mathematical functions ??
<monetary.h> String formatting of monetary units Issue 4
<mqueue.h> Message queue Issue 5
<ndbm.h> NDBM database operations Issue 4
<net/if.h> Listing of local network interfaces Issue 6
<netdb.h> Translating protocol and host names into numeric addresses (part of Berkeley sockets) Issue 6
<netinet/in.h> Defines Internet protocol and address family (part of Berkeley sockets) Issue 6
<netinet/tcp.h> Additional TCP control options (part of Berkeley sockets) Issue 6
<nl_types.h> Localization message catalog functions Issue 2
<poll.h> Asynchronous file descriptor multiplexing Issue 4
<pthread.h> Defines an API for creating and manipulating POSIX threads Issue 5
<pwd.h> passwd (user information) access and control Issue 1
<regex.h> Regular expression matching Issue 4
<sched.h> Execution scheduling Issue 5
<search.h> Search tables Issue 1
<semaphore.h> POSIX semaphores Issue 5
<setjmp.h> Stack environment declarations ??
<signal.h> Signals, see C signal handling ??
<spawn.h> Process spawning Issue 6
<stdarg.h> Handle Variable Argument List ??
<stdbool.h> Boolean type and values, see C data types ??
<stddef.h> Standard type definitions, see C data types ??
<stdint.h> Integer types, see C data types ??
<stdio.h> Standard buffered input/output, see C file input/output ??
<stdlib.h> Standard library definitions, see C standard library ??
<string.h> Several String Operations, see C string handling ??
<strings.h> Case-insensitive string comparisons Issue 4
<stropts.h> Stream manipulation, including ioctl Issue 4
<sys/ipc.h> Inter-process communication (IPC) Issue 2
<sys/mman.h> Memory management, including POSIX shared memory and memory mapped files Issue 4
<sys/msg.h> POSIX message queues Issue 2
<sys/resource.h> Resource usage, priorities, and limiting Issue 4
<sys/select.h> Synchronous I/O multiplexing Issue 6
<sys/sem.h> XSI (SysV style) semaphores Issue 2
<sys/shm.h> XSI (SysV style) shared memory Issue 2
<sys/socket.h> Main Berkley sockets header Issue 6
<sys/stat.h> File information (stat et al.) Issue 1
<sys/statvfs.h> File System information Issue 4
<sys/time.h> Time and date functions and structures Issue 4
<sys/times.h> File access and modification times Issue 1
<sys/types.h> Various data types used elsewhere Issue 1
<sys/uio.h> Vectored I/O operations Issue 4
<sys/un.h> Unix domain sockets Issue 6
<sys/utsname.h> Operating system information, including uname Issue 1
<sys/wait.h> Status of terminated child processes (see wait) Issue 3
<syslog.h> System error logging Issue 4
<tar.h> Magic numbers for the tar archive format Issue 3
<termios.h> Allows terminal I/O interfaces Issue 3
<tgmath.h> Type-Generic Macros, see C mathematical functions ??
<time.h> Type-Generic Macros, see C date and time functions ??
<trace.h> Tracing of runtime behavior (DEPRECATED) Issue 6
<ulimit.h> Resource limiting (DEPRECATED in favor of <sys/resource.h>) Issue 1
<unistd.h> Various essential POSIX functions and constants Issue 1
<utime.h> inode access and modification times Issue 3
<utmpx.h> User accounting database functions Issue 4
<wchar.h> Wide-Character Handling, see C string handling ??
<wctype.h> Wide-Character Classification and Mapping Utilities, see C character classification ??
<wordexp.h> Word-expansion like the shell would perform
#ifdef NDEBUG
#define assert(expr)
#else // _DEBUG
#define assert(expr) \
((expr) \
? (void) (0) \
: __assert_failed(__STRING(expr), __FILE__, __LINE__, __FUNCTION__))
#endif
typedef int wchar_t;
typedef long unsigned int size_t;
typedef long ssize_t;
typedef long int ptrdiff_t;
#ifdef __cplusplus
#define NULL ((void*)0)
#else
#define NULL 0
#endif
typedef decltype(nullptr) nullptr_t; //c++11
#define bool bool
#define true 1
#define false 0
typedef char int8_t;
typedef unsigned char uint8_t;
typedef short int16_t;
typedef unsigned short uint16_t;
typedef int int32_t;
typedef unsigned int uint32_t;
typedef long long int64_t;
typedef unsigned long long uint64_t;
#if __WORDSIZE == 64
typedef long int intptr_t;
typedef unsigned long int uintptr_t;
#else
typedef int intptr_t;
typedef unsigned int uintptr_t;
#endif
va_list
va_start
va_arg
va_end
stdin | stdout | stderr | FILE* | char* |
---|---|---|---|---|
scanf | printf | perror | fscanf,fprintf | sscanf,sprintf,snprintf |
vscanf | vprintf | vfscanf,vfprintf | vsscanf,vsprintf,vsnprintf | |
getchar | putchar | getc,putc,fgetc,fputc | ||
gets | puts | fgets,fputs |
fopen
fclose
fread
fwrite
fseek
ftell
fflush
freopen
fgetpos
fsetpos
rewind
remove
rename
srandom
random
getenv
putenv
abort
exit
atexit
system
malloc
calloc
ralloc
free
atoi
atol
atof
strtol
strtoll
strtoul
strtoull
strtof
strtod
abs
div
mblen
mbtowc
wctomb
mbstowcs
wcstombs
memset
memcpy
memcmp
memmove
memchr
strlen
strcpy
strncpy
strcat
strncat
strcmp
strncmp
strchr
strrchr
strstr
strcspn
strspn
strpbrk
strtok
strerror
clock
time
localtime
gmtime
mktime
ctime
asctime
strftime
sin
cos
tan
asin
acos
atan
sqrt
pow
exp
log
ceil
floor
round
trunc
NAN
HUGE_VAL
INFINITE
#ifndef errno
extern int errno;
#endif
#define isascii(c) (((c) & ~0x7f) == 0)
#define toascii(c) ((c) & 0x7f)
extern int isctype(int c,int mask);
extern int tolower(int c);
extern int toupper(int c);
#define ISBIT(b) (1 << (b))
#define isxxxxx(c) isctype(c,ISBIT(b))
isalnum
isalpha
iscntrl
isdigit
isxdigit
isgraph
ispunct
isspace
isblank
isprint
isupper
islower
wchar_t ctype.h
wchar_t stdio.h
c16rtomb
c32rtomb
mbtoc16r
mbtoc32r