[cuchar.syn]

# 28 Text processing library [[text]](./#text)

## 28.7 Null-terminated sequence utilities [[text.c.strings]](text.c.strings#cuchar.syn)

### 28.7.4 Header <cuchar> synopsis [cuchar.syn]

[ð](#lib:mbstate_t)

#define __STDC_VERSION_UCHAR_H__ 202311Lnamespace std {using mbstate_t = *see below*; using size_t = *see [[support.types.layout]](support.types.layout "17.2.4 Sizes, alignments, and offsets")*;

 size_t mbrtoc8(char8_t* pc8, const char* s, size_t n, mbstate_t* ps);
 size_t c8rtomb(char* s, char8_t c8, mbstate_t* ps);
 size_t mbrtoc16(char16_t* pc16, const char* s, size_t n, mbstate_t* ps);
 size_t c16rtomb(char* s, char16_t c16, mbstate_t* ps);
 size_t mbrtoc32(char32_t* pc32, const char* s, size_t n, mbstate_t* ps);
 size_t c32rtomb(char* s, char32_t c32, mbstate_t* ps);}

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L13285)

The contents and meaning of the header <cuchar> are the same as the C standard library header [<uchar.h>](support.c.headers.general#header:%3cuchar.h%3e "17.15.1 General [support.c.headers.general]"),
except that it does not declare typeschar8_t, char16_t, or char32_t[.](#1.sentence-1)

See also: ISO/IEC 9899:2024, 7.30
