wcstof

Defined in header <wchar.h> float wcstof( const wchar_t* str, wchar_t** str_end ); (since C99) double wcstod( const wchar_t* str, wchar_t** str_end ); (since C95) long double wcstold( const wchar_t* str, wchar_t** str_end ); (since C99) Interprets a floating point value in a wide string pointed to by str. Function discards any whitespace characters (as determined by std::isspace()) until first non-whitespace character is found. Then it takes as many c

wcstombs

Defined in header <stdlib.h> (1) size_t wcstombs( char *dst, const wchar_t *src, size_t len ); (until C99) size_t wcstombs( char *restrict dst, const wchar_t *restrict src, size_t len ); (since C99) errno_t wcstombs_s( size_t *restrict retval, char *restrict dst, rsize_t dstsz, const wchar_t *restrict src, rsize_t len ); (2) (since C11) 1) Converts a sequence of wide characters from the array whose first element is pointed

remainder

Defined in header <math.h> float remainderf( float x, float y ); (1) (since C99) double remainder( double x, double y ); (2) (since C99) long double remainderl( long double x, long double y ); (3) (since C99) Defined in header <tgmath.h> #define remainder( x, y ) (4) (since C99) 1-3) Computes the IEEE remainder of the floating point division operation x/y. 4) Type-generic macro: If any argument has type long double, remainderl is

erfc

Defined in header <math.h> float erfcf( float arg ); (1) (since C99) double erfc( double arg ); (2) (since C99) long double erfcl( long double arg ); (3) (since C99) Defined in header <tgmath.h> #define erfc( arg ) (4) (since C99) 1-3) Computes the complementary error function of arg, that is 1.0-erf(arg), but without loss of precision for large arg. 4) Type-generic macro: If arg has type long double, erfcl is called. Otherwise, i

Implicit conversions

When an expression is used in the context where a value of a different type is expected, conversion may occur: int n = 1L; // expression 1L has type long, int is expected n = 2.1; // expression 2.1 has type double, int is expected char *p = malloc(10); // expression malloc(10) has type void*, char* is expected Conversions take place in the following situations: Conversion as if by assignment In the assignment operator, the value of the right-hand operand is converted to the unqualified type

cast operator

Performs explicit type conversion. Syntax ( type-name ) expression where. type-name - either the type void or any scalar type expression - any expression of scalar type (unless type-name is void, in which case it can be anything) Explanation If type-name is void, then expression is evaluated for its side-effects and its returned value is discarded, same as when expression is used on its own, as an expression statement. Otherwise, if type-name is exactly the type of e

Fixed width integer types

Types Defined in header <stdint.h> int8_tint16_tint32_tint64_t signed integer type with width of exactly 8, 16, 32 and 64 bits respectivelywith no padding bits and using 2's complement for negative values(provided only if the implementation directly supports the type) int_fast8_tint_fast16_tint_fast32_tint_fast64_t fastest signed integer type with width of at least 8, 16, 32 and 64 bits respectively int_least8_tint_least16_tint_least32_tint_least64_t smallest signed integ

exit

Defined in header <stdlib.h> void exit( int exit_code ); (until C11) _Noreturn void exit( int exit_code ); (since C11) Causes normal program termination to occur. Several cleanup steps are performed: functions passed to atexit are called, in reverse order of registration all C streams are flushed and closed files created by tmpfile are removed control is returned to the host environment. If exit_code is zero or EXIT_SUCCESS, an implementation-defined status, in

Null-terminated multibyte strings

A null-terminated multibyte string (NTMBS), or "multibyte string", is a sequence of nonzero bytes followed by a byte with value zero (the terminating null character). Each character stored in the string may occupy more than one byte. The encoding used to represent characters in a multibyte character string is locale-specific: it may be UTF-8, GB18030, EUC-JP, Shift-JIS, etc. For example, the char array {'\xe4','\xbd','\xa0','\xe5','\xa5','\xbd','\0'} is an NTMBS holding the string "你好" in UTF-8

atan2

Defined in header <math.h> float atan2f( float y, float x ); (1) (since C99) double atan2( double y, double x ); (2) long double atan2l( long double y, long double x ); (3) (since C99) Defined in header <tgmath.h> #define atan2( arg ) (4) (since C99) 1-3) Computes the arc tangent of y/x using the signs of arguments to determine the correct quadrant. 4) Type-generic macro: If the argument has type long double, atan2l is called. Oth