wmemchr

Defined in header <wchar.h> wchar_t *wmemchr( const wchar_t *ptr, wchar_t ch, size_t count ); (since C95) Locates the first occurrence of wide character ch in the initial count wide characters of the wide character array or integer array of compatible type, pointed to by ptr. If count is zero, the function returns a null pointer. Parameters ptr - pointer to the wide character array to be examined ch - wide character to search for count - number of wide c

strcspn

Defined in header <string.h> size_t strcspn( const char *dest, const char *src ); Returns the length of the maximum initial segment of the null-terminated byte string pointed to by dest, that consists of only the characters not found in the null-terminated byte string pointed to by src. The behavior is undefined if either dest or src is not a pointer to a null-terminated byte string. Parameters dest - pointer to the null-terminated byte string to be analyzed src

atoi

Defined in header <stdlib.h> int atoi( const char *str ); long atol( const char *str ); long long atoll( const char *str ); (since C99) Interprets an integer value in a byte string pointed to by str. Discards any whitespace characters until the first non-whitespace character is found, then takes as many characters as possible to form a valid integer number representation and converts them to an integer value. The valid integer value consists of the fo

fclose

Defined in header <stdio.h> int fclose( FILE *stream ); Closes the given file stream. Any unwritten buffered data are flushed to the OS. Any unread buffered data are discarded. Whether or not the operation succeeds, the stream is no longer associated with a file, and the buffer allocated by setbuf or setvbuf, if any, is also disassociated and deallocated if automatic allocation was used. Parameters stream - the file stream to close Return value ​0​ on success,

clock_t

Defined in header <time.h> typedef /* unspecified */ clock_t; Arithmetic (until C11)Real (since C11) type capable of representing the processor time used by a process. It has implementation-defined range and precision. References C11 standard (ISO/IEC 9899:2011): 7.27.1/3 Components of time (p: 388) C99 standard (ISO/IEC 9899:1999): 7.23.1/3 Components of time (p: 338) C89/C90 standard (ISO/IEC 9899:1990): 4.12.1 Components of time See also clock return

at_quick_exit

Defined in header <stdlib.h> int at_quick_exit( void (*func)() ); (since C11) Registers the function pointed to by func to be called on quick program termination (via quick_exit). Calling the function from several threads does not induce a data race. The implementation shall support the registration of at least 32 functions. Parameters func - pointer to a function to be called on normal program termination Return value ​0​ if the registration succeeds, nonzero

Basic concepts

This section provides definitions for the specific terminology and the concepts used when describing the C programming language. A C program is a sequence of text files (typically header and source files) that contain declarations. They undergo translation to become an executable program, which is executed when the OS calls its main function (unless it is itself the OS or another freestanding program, in which case the entry point is implementation-defined). Certain words in a C program have sp

getwchar

Defined in header <wchar.h> wint_t getwchar(); (since C95) Reads the next wide character from stdin. Parameters (none). Return value the obtained wide character or WEOF if an error has occurred or the end of file reached. References C11 standard (ISO/IEC 9899:2011): 7.29.3.7 The getwchar function (p: 424) C99 standard (ISO/IEC 9899:1999): 7.24.3.7 The getwchar function (p: 369-370) See also getchar reads a character from stdin (function) fgetwcge

static

Usage static duration storage-class specifier with internal linkage at file scope and no linkage at block scope. static array indices in function parameter declarations. (since C99)

atomic_fetch_xor

Defined in header <stdatomic.h> C atomic_fetch_xor( volatile A* obj, M arg ); (1) (since C11) C atomic_fetch_xor_explicit( volatile A* obj, M arg, memory_order order ); (2) (since C11) Atomically replaces the value pointed by obj with the result of bitwise XOR between the old value of obj and arg, and returns the value obj held previously. The operation is read-modify-write operation. The first version orders memory accesses according to memory_order_seq_cst, the seco