c语言中处理汉字问题
来源:互联网 发布:万方数据库怎么收费 编辑:程序博客网 时间:2024/04/30 12:03
在c语言编写程序时,难免会涉及到汉字的问题,汉字的存储方式不同于普通字符,在不同的平台上,或编译环境中点有不同的字节时,既然不是单字符,如果有存储使用汉字,自然就想到使用字符串。
通常用户可以使用strlen("中文")来显示,在当前环境下一个汉字字符在内存中占用的字符数。
如果显示的是6,则一个汉字点用3个字节的长度,假设一个汉字长度为3个字节。
一般的定义方式,需要注意的是,定义字符数组的长度不同比实际字符个数占用的长度加上一个‘/n'的个数少,如过长度不够输出的信息就会出现错误,因为无法知道其结束的位置。
char s[7]="中国"; 2 * 3 + 1;
char s[3] ="黄“;
因为对于字符串数组在结束处会自动加上一个结束标志“/n"。
char s[] = "中国人民“; //使用默认的方式。
对于汉字字符串同样可以,使用字符串函数中提供的函数,如strcmp,strcpy,strcat等。
只要将汉字视为字符串处理就行了。
定义为汉字字符二维数组,如下:
char word[10][4]={"中","国","人","民"};
word[0]便是“中”,依次类推word[3]是“民”。
通常用户可以使用strlen("中文")来显示,在当前环境下一个汉字字符在内存中占用的字符数。
如果显示的是6,则一个汉字点用3个字节的长度,假设一个汉字长度为3个字节。
一般的定义方式,需要注意的是,定义字符数组的长度不同比实际字符个数占用的长度加上一个‘/n'的个数少,如过长度不够输出的信息就会出现错误,因为无法知道其结束的位置。
char s[7]="中国"; 2 * 3 + 1;
char s[3] ="黄“;
因为对于字符串数组在结束处会自动加上一个结束标志“/n"。
char s[] = "中国人民“; //使用默认的方式。
对于汉字字符串同样可以,使用字符串函数中提供的函数,如strcmp,strcpy,strcat等。
只要将汉字视为字符串处理就行了。
定义为汉字字符二维数组,如下:
char word[10][4]={"中","国","人","民"};
word[0]便是“中”,依次类推word[3]是“民”。
#includeConsole显示:#include int main(){char word[10][4]={"中","国","人","民"};char key1[10];char key2[10];printf("%s %s %d %d/n",word[0],word[3],strlen(word[3]),strlen("中国人"));//将汉字作为字符串读入scanf("%s",key1);//使用字符串函数printf("%s %d/n",key1,strlen(key1));scanf("%s",key2);printf("%s %d/n",key2,strlen(key2));if(strcmp(key1,key2) == 0) printf("Two same worlds!/n");else printf("Diffrent!/n");char tmp[7];strcpy(tmp,key1);strcat(tmp,key2);char a[4]="如"; //定义一个汉字字符printf("%s/n",a);printf("%s/n",tmp);char s[13]="中国人民";printf("%s/n",s);return 0;}
中 民 3 9黄 黄 3黄黄 3Two same worlds!如黄黄中国人民
- c语言中处理汉字问题
- C 语言中处理汉字
- C语言程序中处理汉字(修正版)
- [zz]如何在C语言程序中处理汉字
- C语言汉字显示问题
- 在C程序中处理汉字
- 在C程序中处理汉字
- 如何在C程序中处理汉字
- C语言中怎样判断汉字
- 在C语言中显示汉字
- C语言中怎样判断汉字
- C语言中怎样判断汉字
- c语言中处理不定参数数目的问题
- C语言输入输出汉字
- 汉字处理问题
- 中文在C/C++中的处理和汉字乱码问题
- 中文在C/C++中的处理和汉字乱码问题
- 中文在C/C++中的处理和汉字乱码问题
- 为Nagios编写自己的插件
- Big-Endian 和 Little-Endian 字节排序
- 脱离.Net Framework运行doNet程序的简单方法(Console)
- 关于loose.dtd和xhtml1-transitional.dtd等文档类型定义模型中CSS失效的解决办法
- centos
- c语言中处理汉字问题
- transitional.dtd影响浮动效果的解决:改js代码中的document.body
- [SCHEMA小技巧]约束值域为0和正整数
- 实现按a字段分组后,在组内再按照b字段排序,之后每组取Top n条数据
- shipping point 定义和分配
- Python 运算符
- 招聘C++程序员
- 人生的成功必须是首先做一个真正的人
- 数组拆分后入库到临时表(数组-->数据集合)