C语言如何从字符串中提取汉字,请提供一段代码
时间: 2024-05-04 16:15:46 浏览: 44
以下是一个示例代码,可以从字符串中提取汉字:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char *str = "Hello中国人!";
int len = strlen(str);
for(int i = 0; i < len; i++)
{
if (((str[i] & 0xF0) == 0xE0) && ((str[i+1] & 0xC0) == 0x80) && ((str[i+2] & 0xC0) == 0x80)) // 判断是否为汉字
{
char substr[4] = {str[i], str[i+1], str[i+2], '\0'};
printf("%s\n", substr); // 输出汉字
}
}
return 0;
}
```
以上示例代码会从字符串中提取出汉字,并输出。
请注意,以上代码仅适用于 UTF-8 编码,不同的编码方式可能需要不同的方式来提取汉字。
阅读全文