##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# Null-terminated wide strings

From cppreference.com
< c‎ | string

A null-terminated wide string is a sequence of valid wide characters, ending with a null-character.

### [edit] Functions

##### Character classification
Defined in header `<wctype.h>`
iswalnum | checks if a wide character is alphanumeric (function) [edit]
iswalpha | checks if a wide character is alphabetic (function) [edit]
iswlower | checks if a wide character is an lowercase character (function) [edit]
iswupper | checks if a wide character is an uppercase character (function) [edit]
iswdigit | checks if a wide character is a digit (function) [edit]
iswxdigit | checks if a character is a hexadecimal character (function) [edit]
iswcntrl | checks if a wide character is a control character (function) [edit]
iswgraph | checks if a wide character is a graphical character (function) [edit]
iswspace | checks if a wide character is a space character (function) [edit]
iswblank (C99) | checks if a wide character is a blank character (function) [edit]
iswprint | checks if a wide character is a printing character (function) [edit]
iswpunct | checks if a wide character is a punctuation character (function) [edit]
iswctype | classifies a wide character according to the specified LC_CTYPE category (function) [edit]
wctype | looks up a character classification category in the current C locale (function) [edit]
##### Character manipulation
Defined in header `<wctype.h>`
towlower | converts a wide character to lowercase (function) [edit]
towupper | converts a wide character to uppercase (function) [edit]
towctrans | performs character mapping according to the specified LC_CTYPE mapping category (function) [edit]
wctrans | looks up a character mapping category in the current C locale (function) [edit]

ASCII values (hex) | characters | `iscntrl` `iswcntrl` | `isprint` `iswprint` | `isspace` `iswspace` | `isblank` `iswblank` | `isgraph` `iswgraph` | `ispunct` `iswpunct` | `isalnum` `iswalnum` | `isalpha` `iswalpha` | `isupper` `iswupper` | `islower` `iswlower` | `isdigit` `iswdigit` | `isxdigit` `iswxdigit`
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
0 - 8 | `0x00-0x08` | control codes (`NUL`, etc.) | `≠0` | `0` | `0` | `0` | `0` | `0` | `0` | `0` | `0` | `0` | `0` | `0`
9 | `0x09` | tab (`\t`) | `≠0` | `0` | `≠0` | `≠0` | `0` | `0` | `0` | `0` | `0` | `0` | `0` | `0`
10 - 13 | `0x0A-0x0D` | whitespaces (`\n`,`\v`,`\f`,`\r`) | `≠0` | `0` | `≠0` | `0` | `0` | `0` | `0` | `0` | `0` | `0` | `0` | `0`
14 - 31 | `0x0E-0x1F` | control codes | `≠0` | `0` | `0` | `0` | `0` | `0` | `0` | `0` | `0` | `0` | `0` | `0`
32 | `0x20` | space | `0` | `≠0` | `≠0` | `≠0` | `0` | `0` | `0` | `0` | `0` | `0` | `0` | `0`
33 - 47 | `0x21-0x2F` | `!"#$%&'()*+,-./` | `0` | `≠0` | `0` | `0` | `≠0` | `≠0` | `0` | `0` | `0` | `0` | `0` | `0`
48 - 57 | `0x30-0x39` | `0123456789` | `0` | `≠0` | `0` | `0` | `≠0` | `0` | `≠0` | `0` | `0` | `0` | `≠0` | `≠0`
58 - 64 | `0x3a-0x40` | `:;<=>?@` | `0` | `≠0` | `0` | `0` | `≠0` | `≠0` | `0` | `0` | `0` | `0` | `0` | `0`
65 - 70 | `0x41-0x46` | `ABCDEF` | `0` | `≠0` | `0` | `0` | `≠0` | `0` | `≠0` | `≠0` | `≠0` | `0` | `0` | `≠0`
71 - 90 | `0x47-0x5A` | `GHIJKLMNOPQRSTUVWXYZ` | `0` | `≠0` | `0` | `0` | `≠0` | `0` | `≠0` | `≠0` | `≠0` | `0` | `0` | `0`
91 - 96 | `0x5B-0x60` | `[\]^_`` | `0` | `≠0` | `0` | `0` | `≠0` | `≠0` | `0` | `0` | `0` | `0` | `0` | `0`
97 -102 | `0x61-0x66` | `abcdef` | `0` | `≠0` | `0` | `0` | `≠0` | `0` | `≠0` | `≠0` | `0` | `≠0` | `0` | `≠0`
103-122 | `0x67-0x7A` | `ghijklmnopqrstuvwxyz` | `0` | `≠0` | `0` | `0` | `≠0` | `0` | `≠0` | `≠0` | `0` | `≠0` | `0` | `0`
123-126 | `0x7B-0x7E` | `{|}~` | `0` | `≠0` | `0` | `0` | `≠0` | `≠0` | `0` | `0` | `0` | `0` | `0` | `0`
127 | `0x7F` | backspace character (`DEL`) | `≠0` | `0` | `0` | `0` | `0` | `0` | `0` | `0` | `0` | `0` | `0` | `0`

##### Conversions to numeric formats
Defined in header `<wchar.h>`
wcstol wcstoll | converts a wide string to an integer value (function) [edit]
wcstoul wcstoull | converts a wide string to an unsigned integer value (function) [edit]
wcstof wcstod wcstold | converts a wide string to a floating point value (function) [edit]
Defined in header `<inttypes.h>`
wcstoimax wcstoumax (C99)(C99) | converts a wide string to intmax_t or uintmax_t (function) [edit]

##### String manipulation
Defined in header `<wchar.h>`
wcscpy | copies one wide string to another (function) [edit]
wcsncpy | copies a certain amount of wide characters from one string to another (function) [edit]
wcscat | appends a copy of one wide string to another (function) [edit]
wcsncat | appends a certain amount of wide characters from one wide string to another (function) [edit]
wcsxfrm | transform a wide string so that wcscmp would produce the same result as wcscoll (function) [edit]
##### String examination
Defined in header `<wchar.h>`
wcslen | returns the length of a wide string (function) [edit]
wcscmp | compares two wide strings (function) [edit]
wcsncmp | compares a certain amount of characters from two wide strings (function) [edit]
wcscoll | compares two wide strings in accordance to the current locale (function) [edit]
wcschr | finds the first occurrence of a wide character in a wide string (function) [edit]
wcsrchr | finds the last occurrence of a wide character in a wide string (function) [edit]
wcsspn | returns the length of the maximum initial segment that consists of only the wide characters found in another wide string (function) [edit]
wcscspn | returns the length of the maximum initial segment that consists of only the wide not found in another wide string (function) [edit]
wcspbrk | finds the first location of any wide character in one wide string, in another wide string (function) [edit]
wcsstr | finds the first occurrence of a wide string within another wide string (function) [edit]
wcstok | finds the next token in a wide string (function) [edit]

##### Wide character array manipulation
Defined in header `<wchar.h>`
wmemcpy | copies a certain amount of wide characters between two non-overlapping arrays (function) [edit]
wmemmove | copies a certain amount of wide characters between two, possibly overlapping, arrays (function) [edit]
wmemcmp | compares a certain amount of wide characters from two arrays (function) [edit]
wmemchr | finds the first occurrence of a wide character in a wide character array (function) [edit]
wmemset | copies the given wide character to every position in a wide character array (function) [edit]

### [edit] Types

Defined in header `<wctype.h>`
`wctrans_t` | scalar type that holds locale-specific character mapping
`wctype_t` | scalar type that holds locale-specific character classification
`wint_t` | integer type that can hold any valid wide character and at least one more value

### [edit] Macros

Defined in header `<wchar.h>`
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)

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=c/string/wide&oldid=56815"