The Standard C Library

C++ programmers have access to a variety of functions from the standard C libraries, as defined in ISO/IEC 9899:1990 (known as C90). All of the functions in these libraries are defined in the std namespace.

C Library Functions

The following is a list of standard C library functions, grouped roughly by functionality:

Alternatively, there is a list of all standard C library functions.

Standard C Header Files

The functions above are defined in the following 18 header files:

  • <cassert>
  • <ciso646>
  • <csetjmp>
  • <cstdio>
  • <ctime>
  • <cctype>
  • <climits>
  • <csignal>
  • <cstdlib>
  • <cwchar>
  • <cerrno>
  • <clocale>
  • <cstdarg>
  • <cstring>
  • <cwctype>
  • <cfloat>
  • <cmath>
  • <cstddef>

When including header files for the standard C libraries, it is preferable to use the cfile notation instead of the file.h notation. For example, the stdio.h header file should be included using this command:

  #include <cstdio>

The file.h notation works, but it is mainly meant for backwards compatibility. The difference between the cfile and file.h notation is that functions included via the file.h notation will appear in the global namespace instead of the std namespace.

See also: The 2005 C99 working paper from the Approved Standards of working group 14.