这个头文件提供 宽字符 的相关功能。宽字符是指使用多于一个字节来表示的字符,主要用于支持大型字符集(如Unicode)。
类型 | 标准 | 说明 |
---|
wchar_t | C89 | 可以保存任何有效宽字符的整数类型 |
wint_t | C95 | 可以保存任何有效宽字符和至少一个其他值的整数类型 |
类型 | 标准 | 说明 |
---|
WEOF | C95 | 用于表示错误的 wint_t 类型值 |
WCHAR_MIN | C95 | wchar_t 类型的最小有效值 |
WCHAR_MAX | C95 | wchar_t 类型的最大有效值 |
函数 | 标准 | 说明 |
---|
fwide | C95 | 设置并查询文件流是否使用宽字符模式 |
#include <stdio.h>
#include <wchar.h>
#include <locale.h>
int main(void) {
if (setlocale(LC_ALL, "zh_CN.UTF-8") == NULL)
{
fprintf(stderr, "语言环境设置失败\n");
return 1;
}
wchar_t wc = L'中';
wchar_t ws[] = L"中文宽字符示例";
wprintf(L"单个宽字符: '%lc'\n", wc);
wprintf(L"宽字符串: \"%ls\"\n", ws);
size_t len = wcslen(ws);
wprintf(L"字符串长度: %zu\n", len);
wchar_t ws2[] = L"中文宽字符";
int cmp = wcscmp(ws, ws2);
wprintf(L"字符串比较结果: %d\n", cmp);
wchar_t dest[50] = L"开始-";
wcscat(dest, ws);
wprintf(L"连接后的字符串: \"%ls\"\n", dest);
return 0;
}
运行结果:
单个宽字符: '中'
宽字符串: "中文宽字符示例"
字符串长度: 7
字符串比较结果: 1
连接后的字符串: "开始-中文宽字符示例"