Chapter Contents

Previous

Next
Standard Libraries

C Library Header Files

The following header files have been created to provide access to standard C library functions in accordance with the C++ Standard. Each of the following header files provides access to the standard C functions, macros, and types defined by the C Standard for the corresponding C header:

<cassert>
<cfloat>
<cmath>
<cstdarg>
<cstdlib>
<cwctype>

In general, <cNAME> contains items corresponding to the <NAME.h> header. For example, <cstdio> declares the items from the C header <stdio.h>. However, the function and type names for these headers are placed in the std namespace.

As an extension, the header files <climits> and <cstdlib> include the long long support items declared in the corresponding C headers. These declarations may be hidden by defining the macro _SASC_HIDE_LLLIB. Other nonstandard items, such as those required for POSIX support, are not declared in these headers.

The standard C headers have also been updated to comply with the C++ Standard. Each header <NAME.h> declares the items from the header. Then each function and type name declared in the std namespace is also declared in the global scope via a using declaration. Nonstandard items normally declared for C are also declared for C++, but only in the global scope.

Note:    The C++ Standard changes the return type of strchr(), strrchr(), memchr(), and strstr() to a const pointer when the first argument is a const pointer. This can cause errors like LSCT544 with existing code. The errors can be fixed by updating the use of the return value to expect the appropriate type.  [cautionend]


Chapter Contents

Previous

Next

Top of Page

Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.