asctime

Defined in header <time.h> char* asctime( const struct tm* time_ptr ); (1) errno_t asctime_s(char *buf, rsize_t bufsz, const struct tm *time_ptr); (2) (since C11) 1) Converts given calendar time tm to a textual representation of the following fixed 25-character form: Www Mmm dd hh:mm:ss yyyy\n Www - three-letter English abbreviated day of the week from time_ptr->tm_wday, one of Mon, Tue, Wed, Thu, Fri, Sat, Sun. Mmm - three-letter English abbreviated month name

#define directive

The preprocessor supports text macro replacement and function-like text macro replacement. Syntax #define identifier replacement-list(optional) (1) #define identifier( parameters ) replacement-list (2) #define identifier( parameters, ... ) replacement-list (3) (since C99) #define identifier( ... ) replacement-list (4) (since C99) #undef identifier (5) Explanation #define directives The #define directives define the identifier as a macro, that is they in

Program support utilities

Program termination The following functions manage program termination and resource cleanup. Defined in header <stdlib.h> abort causes abnormal program termination (without cleaning up) (function) exit causes normal program termination with cleaning up (function) quick_exit (C11) causes normal program termination without completely cleaning up (function) _Exit (C99) causes normal program termination without cleaning up (function) atexit registers a functi

floating constant

Allows values of floating type to be used directly in expressions. Syntax A floating constant is a non-lvalue expression having the form: significand exponent(optional) suffix(optional) Where the significand has the form. whole-number(optional) .(optional) fraction(optional) The exponent has the form. e | E exponent-sign(optional) digit-sequence (1) p | P exponent-sign(optional) digit-sequence (2) (since C99) 1) The exponent syntax for a decimal floating-point

atomic types

Syntax _Atomic ( type-name ) (1) (since C11) _Atomic type-name (2) (since C11) 1) Use as a type specifier; this designates a new atomic type 2) Use as a type qualifier; this designates the atomic version of type-name. In this role, it may be mixed with const, volatile, and restrict), although unlike other qualifiers, the atomic version of type-name may have a different size, alignment, and object representation. type-name - any type other than array or function. For (1),

ftell

Defined in header <stdio.h> long ftell( FILE *stream ); Returns the file position indicator for the file stream stream. If the stream is open in binary mode, the value obtained by this function is the number of bytes from the beginning of the file. If the stream is open in text mode, the value returned by this function is unspecified and is only meaningful as the input to fseek(). Parameters stream - file stream to examine Return value File position indicator

calloc

Defined in header <stdlib.h> void* calloc( size_t num, size_t size ); Allocates memory for an array of num objects of size size and initializes all bits in the allocated storage to zero. If allocation succeeds, returns a pointer to the lowest (first) byte in the allocated memory block that is suitably aligned for any object type. If size is zero, the behavior is implementation defined (null pointer may be returned, or some non-null pointer may be returned that may not be us

Memory model

Defines the semantics of computer memory storage for the purpose of the C abstract machine. The data storage (memory) available to a C program is one or more contiguous sequences of bytes. Each byte in memory has a unique address. Byte A byte is the smallest addressable unit of memory. It is defined as a contiguous sequence of bits, large enough to hold any member of the basic execution character set (the 96 characters that are required to be single-byte). C supports bytes of sizes 8 bits an

Conditional inclusion

The preprocessor supports conditional compilation of parts of a source file. This behavior is controlled by #if, #else, #elif, #ifdef, #ifndef and #endif directives. Syntax #if expression #ifdef expression #ifndef expression #elif expression #else #endif Explanation The conditional preprocessing block starts with #if, #ifdef or #ifndef directive, then optionally includes any number of #elif directives, then optionally includes at most one #else direct

mbrlen

Defined in header <wchar.h> size_t mbrlen( const char* s, size_t n, mbstate_t* ps ); (since C95) Determines the size, in bytes, of the remainder of the multibyte character whose first byte is pointed to by s, given the current conversion state ps. This function is equivalent to the call mbrtowc(nullptr, s, n, ps?ps:&internal) for some hidden object internal of type mbstate_t, except that the expression ps is evaluated only once. Parameters s - pointer to an elem