用C语言写一个输入汉字的完整可运行的程序
时间: 2023-09-06 20:14:34 浏览: 104
在C程序中使用汉字
C语言中没有直接支持Unicode编码的数据类型,需要使用wchar_t类型表示Unicode字符。同时,不同操作系统对于控制台输入输出的方式也有所不同,需要使用操作系统提供的API函数来实现。以下是一个在Windows平台上实现的控制台程序,可以输入汉字并输出其Unicode编码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <locale.h>
#include <windows.h>
int main()
{
// 设置本地化环境,以支持宽字符
setlocale(LC_ALL, "");
// 获取标准输入输出的句柄
HANDLE hInput = GetStdHandle(STD_INPUT_HANDLE);
HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
// 定义一个缓冲区,用于存储读入的字符
wchar_t buffer[2] = {0};
while (1) {
// 从标准输入中读入字符
DWORD read_count = 0;
ReadConsoleW(hInput, buffer, 1, &read_count, NULL);
// 判断是否读入成功
if (read_count == 0) {
break;
}
// 输出该字符的Unicode编码
wprintf(L"汉字“%lc”的Unicode编码是%04X\n", buffer[0], buffer[0]);
}
return 0;
}
```
使用方法:将以上代码保存为一个.c文件,使用编译器编译并运行即可。需要注意的是,该程序在Windows平台上编写,如果在其他操作系统上运行可能会出现兼容性问题。
阅读全文