2910

15 分钟

#C 语言标准库头文件 wchar.h

这个头文件提供 宽字符 的相关功能。宽字符是指使用多于一个字节来表示的字符,主要用于支持大型字符集(如Unicode)。

#类型

类型标准说明
wchar_tC89可以保存任何有效宽字符的整数类型
wint_tC95可以保存任何有效宽字符和至少一个其他值的整数类型

#

类型标准说明
WEOFC95用于表示错误的 wint_t 类型值
WCHAR_MINC95wchar_t 类型的最小有效值
WCHAR_MAXC95wchar_t 类型的最大有效值

#函数

函数标准说明
fwideC95设置并查询文件流是否使用宽字符模式

#推荐阅读

#示例

#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; } // 1. 宽字符声明和初始化 wchar_t wc = L'中'; wchar_t ws[] = L"中文宽字符示例"; // 2. 宽字符输出 wprintf(L"单个宽字符: '%lc'\n", wc); wprintf(L"宽字符串: \"%ls\"\n", ws); // 3. 宽字符串长度 size_t len = wcslen(ws); wprintf(L"字符串长度: %zu\n", len); // 4. 宽字符串比较 wchar_t ws2[] = L"中文宽字符"; int cmp = wcscmp(ws, ws2); wprintf(L"字符串比较结果: %d\n", cmp); // 5. 宽字符串连接 wchar_t dest[50] = L"开始-"; wcscat(dest, ws); wprintf(L"连接后的字符串: \"%ls\"\n", dest); return 0; }

运行结果:

单个宽字符: '中' 宽字符串: "中文宽字符示例" 字符串长度: 7 字符串比较结果: 1 连接后的字符串: "开始-中文宽字符示例"

创建于 2025/8/14

更新于 2025/8/14