Null-terminated wide strings
From cppreference.com
                    
                                        
                    
                    
                                                            
                    A null-terminated wide string is a sequence of valid wide characters, ending with a null character.
Functions
 Character classification | |
|   Defined in header  
<cwctype>  | |
|    checks if a wide character is alphanumeric  (function)  | |
|    checks if a wide character is alphabetic  (function)  | |
|    checks if a wide character is lowercase  (function)  | |
|    checks if a wide character is an uppercase character  (function)  | |
|    checks if a wide character is a digit  (function)  | |
|    checks if a character is a hexadecimal character  (function)  | |
|    checks if a wide character is a control character  (function)  | |
|    checks if a wide character is a graphical character  (function)  | |
|    checks if a wide character is a space character  (function)  | |
|    (C++11)  | 
   checks if a wide character is a blank character  (function)  | 
|    checks if a wide character is a printing character  (function)  | |
|    checks if a wide character is a punctuation character  (function)  | |
|    classifies a wide character according to the specified LC_CTYPE category    (function)  | |
|    looks up a character classification category in the current C locale  (function)  | |
 Character manipulation | |
|   Defined in header  
<cwctype>  | |
|    converts a wide character to lowercase  (function)  | |
|    converts a wide character to uppercase  (function)  | |
|    performs character mapping according to the specified LC_CTYPE mapping category   (function)  | |
|    looks up a character mapping category in the current C locale   (function)  | |
| ASCII values | characters | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| decimal | hexadecimal | octal | |||||||||||||
| 0–8 |  \x0–\x8
 | 
 \0–\10
 | 
 control codes (NUL, etc.)
 | 
≠0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
| 9 |  \x9
 | 
 \11
 | 
 tab (\t)
 | 
≠0
 | 
 0
 | 
≠0
 | 
≠0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
| 10–13 |  \xA–\xD
 | 
 \12–\15
 | 
 whitespaces (\n, \v, \f, \r)
 | 
≠0
 | 
 0
 | 
≠0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
| 14–31 |  \xE–\x1F
 | 
 \16–\37
 | 
control codes | ≠0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
| 32 |  \x20
 | 
 \40
 | 
space |  0
 | 
≠0
 | 
≠0
 | 
≠0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
| 33–47 |  \x21–\x2F
 | 
 \41–\57
 | 
 !"#$%&'()*+,-./
 | 
 0
 | 
≠0
 | 
 0
 | 
 0
 | 
≠0
 | 
≠0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
| 48–57 |  \x30–\x39
 | 
 \60–\71
 | 
 0123456789
 | 
 0
 | 
≠0
 | 
 0
 | 
 0
 | 
≠0
 | 
 0
 | 
≠0
 | 
 0
 | 
 0
 | 
 0
 | 
≠0
 | 
≠0
 | 
| 58–64 |  \x3A–\x40
 | 
 \72–\100
 | 
 :;<=>?@
 | 
 0
 | 
≠0
 | 
 0
 | 
 0
 | 
≠0
 | 
≠0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
| 65–70 |  \x41–\x46
 | 
 \101–\106
 | 
 ABCDEF
 | 
 0
 | 
≠0
 | 
 0
 | 
 0
 | 
≠0
 | 
 0
 | 
≠0
 | 
≠0
 | 
≠0
 | 
 0
 | 
 0
 | 
≠0
 | 
| 71–90 |  \x47–\x5A
 | 
 \107–\132
 | 
 GHIJKLMNOPQRSTUVWXYZ
 | 
 0
 | 
≠0
 | 
 0
 | 
 0
 | 
≠0
 | 
 0
 | 
≠0
 | 
≠0
 | 
≠0
 | 
 0
 | 
 0
 | 
 0
 | 
| 91–96 |  \x5B–\x60
 | 
 \133–\140
 | 
 [\]^_`
 | 
 0
 | 
≠0
 | 
 0
 | 
 0
 | 
≠0
 | 
≠0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
| 97–102 |  \x61–\x66
 | 
 \141–\146
 | 
 abcdef
 | 
 0
 | 
≠0
 | 
 0
 | 
 0
 | 
≠0
 | 
 0
 | 
≠0
 | 
≠0
 | 
 0
 | 
≠0
 | 
 0
 | 
≠0
 | 
| 103–122 |  \x67–\x7A
 | 
 \147–\172
 | 
 ghijklmnopqrstuvwxyz
 | 
 0
 | 
≠0
 | 
 0
 | 
 0
 | 
≠0
 | 
 0
 | 
≠0
 | 
≠0
 | 
 0
 | 
≠0
 | 
 0
 | 
 0
 | 
| 123–126 |  \x7B–\x7E
 | 
 \172–\176
 | 
 {|}~
 | 
 0
 | 
≠0
 | 
 0
 | 
 0
 | 
≠0
 | 
≠0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
| 127 |  \x7F
 | 
 \177
 | 
 backspace character (DEL)
 | 
≠0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 0
 | 
 Conversions to numeric formats | |
|   Defined in header  
<cwchar>  | |
|    converts a wide string to an integer value  (function)  | |
|    converts a wide string to an unsigned integer value  (function)  | |
|    converts a wide string to a floating point value  (function)  | |
|   Defined in header  
<cinttypes>  | |
|    (C++11)(C++11)  | 
   converts a wide string to std::intmax_t or std::uintmax_t   (function)  | 
 String manipulation | |
|   Defined in header  
<cwchar>  | |
|    copies one wide string to another  (function)  | |
|    copies a certain amount of wide characters from one string to another   (function)  | |
|    appends a copy of one wide string to another   (function)  | |
|    appends a certain amount of wide characters from one wide string to another   (function)  | |
|    transform a wide string so that wcscmp would produce the same result as wcscoll   (function)  | |
 String examination | |
|   Defined in header  
<cwchar>  | |
|    returns the length of a wide string  (function)  | |
|    compares two wide strings  (function)  | |
|    compares a certain amount of characters from two wide strings  (function)  | |
|    compares two wide strings in accordance to the current locale  (function)  | |
|    finds the first occurrence of a wide character in a wide string  (function)  | |
|    finds the last occurrence of a wide character in a wide string  (function)  | |
|    returns the length of the maximum initial segment that consists  of only the wide characters found in another wide string (function)  | |
|    returns the length of the maximum initial segment that consists  of only the wide not found in another wide string (function)  | |
|    finds the first location of any wide character in one wide string, in another wide string  (function)  | |
|    finds the first occurrence of a wide string within another wide string  (function)  | |
|    finds the next token in a wide string   (function)  | |
 Wide character array manipulation | |
|   Defined in header  
<cwchar>  | |
|    copies a certain amount of wide characters between two non-overlapping arrays   (function)  | |
|    copies a certain amount of wide characters between two, possibly overlapping, arrays   (function)  | |
|    compares a certain amount of wide characters from two arrays   (function)  | |
|    finds the first occurrence of a wide character in a wide character array   (function)  | |
|    copies the given wide character to every position in a wide character array   (function)  | |
Types
|   Defined in header  
<cwctype>  | |
  wctrans_t
 | 
scalar type that holds locale-specific character mapping | 
  wctype_t
 | 
scalar type that holds locale-specific character classification | 
|   Defined in header  
<cwctype>  | |
|   Defined in header  
<cwchar>  | |
  wint_t
 | 
integer type that can hold any valid wide character and at least one more value | 
Macros
|   Defined in header  
<cwchar>  | |
|    WEOF  | 
   a non-character value of type wint_t used to indicate errors  (macro constant)  | 
|    WCHAR_MIN  | 
   the smallest valid value of wchar_t   (macro constant)  | 
|    WCHAR_MAX  | 
   the largest valid value of wchar_t   (macro constant)  |