宽字符

Posted luoxuw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了宽字符相关的知识,希望对你有一定的参考价值。

#include <stdlib.h>
#include <stdio.h>
#include <locale.h>
void  main()
    printf("你好天朝"); //unicode 编码会输出乱码:浣犲ソ澶╂湞
    //用多字符集编码不会乱码
    char str[20] = "你好中国";
    printf("%s\n",str);  //unicode 编码会输出乱码:姴銈芥稉顓炩偓
    printf("%c%c\n",str[0],str[1]);  //两个字节为一个汉字,所以输出 “你”

void  main111()
    wchar_t ch = L‘我‘;   //L是宽字符或字符串的标志
    printf("%d \n",sizeof(ch)); //2
    setlocale(LC_ALL,"chs");  //设置成本地简体中文
    wprintf(L"%wc \n",ch);   //L是宽字符或字符串的标志,输出一个汉字
    wchar_t str[100] = L"我是一只小小小鸟"; // 不加L会报错哦
    wprintf(L"%s ",str); //正确输出中文字符串


 

以上是关于宽字符的主要内容,如果未能解决你的问题,请参考以下文章

调用 mbtowc() 时 gcc 如何决定宽字符集?

在 Delphi 中将宽字符代码点的十六进制字符串表示形式转换为宽字符

宽字符字符串字面量

用吉里吉里玩游戏的时候出现宽字符玩的提示玩不了怎么办求解决出钱都可以

CString 设置宽字符有啥作用

C语言:宽字符集操作函数