📅  最后修改于: 2020-09-25 09:24:04             🧑  作者: Mango
c16rtomb() 函数在
size_t c16rtomb(char* s, char16_t c16, mbstate_t* ps);
所述c16rtomb() 函数的UTF-16 字符转换c16
至其多字节等效并将其存储在对象指向s
。
如果s
表示空指针,则该调用等效于某些内部缓冲区buf的c16rtomb(buf,u'\ 0',ps)。
如果c16
是零位宽字符,即u'\ 0',则会存储一个空字节。
#include
#include
using namespace std;
int main()
{
const char16_t str[] = u"Hello World!";
char s[50];
mbstate_t ps{};
size_t length;
int j = 0;
while (str[j])
{
length = c16rtomb(s, str[j], &ps);
if ((length == 0) || (length > 50))
break;
for (int i=0; i
运行该程序时,输出为:
Hello World!