linux c 中文支持
2011-11-24 15:27
141 查看
1、更详细资料参见
http://learn.akae.cn/media/apas03.html
http://www.ibm.com/developerworks/cn/linux/i18n/unicode/linuni/
3、关于setlocale函数
http://www.ancool.com/php/function.php-setlocale.htm
http://blog.csdn.net/jasekidd/article/details/4246777
4、转载另一篇文章
原文章地址:http://walkbird.sinaapp.com/?p=90
5、宽字符操作函数
原贴地址:http://www.chineselinuxuniversity.net/articles/33468.shtml
http://learn.akae.cn/media/apas03.html
http://www.ibm.com/developerworks/cn/linux/i18n/unicode/linuni/
UTF-8 and Unicode FAQ:http://www.linuxforum.net/books/UTF-8-Unicode.html
2、部分示例代码#include <stdio.h> #include <locale.h> #include <wchar.h> int main(void) { wchar_t wstr=L"你好\n"; if (!setlocale(LC_CTYPE, "")) { fprintf(stderr, "Can't set the specified locale! " "Check LANG, LC_CTYPE, LC_ALL.\n"); return 1; } printf("%ls", wstr); return 0; }
3、关于setlocale函数
http://www.ancool.com/php/function.php-setlocale.htm
http://blog.csdn.net/jasekidd/article/details/4246777
4、转载另一篇文章
原文章地址:http://walkbird.sinaapp.com/?p=90
Linux c下unicode编程 发表于 2011 年 09 月 01 日 需要的头文件: locale.h wchar.h stdio.h 数据类型定义: wchar_t test (宽字符,4字节) 环境设置: setlocale(LC_CTYPE,"en_US.UTF-8"); //若没有,宽字符无法正确输出 输入: scanf("%C",&test); //将外部的UTF-8编码输入到内存中,并以unicode方式存储 输出: printf("%C",test); //将内存中的unicode字符以UTF-8编码方式输出到外部文件中 注:暂时还没有发现使用wprintf输出的意义,有待进一步研究。
5、宽字符操作函数
原贴地址:http://www.chineselinuxuniversity.net/articles/33468.shtml
字符分类: 宽字符函数普通C函数描述 iswalnum() isalnum() 测试字符是否为数字或字母 iswalpha() isalpha() 测试字符是否是字母 iswcntrl() iscntrl() 测试字符是否是控制符 iswdigit() isdigit() 测试字符是否为数字 iswgraph() isgraph() 测试字符是否是可见字符 iswlower() islower() 测试字符是否是小写字符 iswprint() isprint() 测试字符是否是可打印字符 iswpunct() ispunct() 测试字符是否是标点符号 iswspace() isspace() 测试字符是否是空白符号 iswupper() isupper() 测试字符是否是大写字符 iswxdigit() isxdigit()测试字符是否是十六进制的数字 大小写转换: 宽字符函数 普通C函数描述 towlower() tolower() 把字符转换为小写 towupper() toupper() 把字符转换为大写 字符比较: 宽字符函数普通C函数描述 wcscoll() strcoll() 比较字符串 日期和时间转换: 宽字符函数描述 strftime() 根据指定的字符串格式和locale设置格式化日期和时间 wcsftime() 根据指定的字符串格式和locale设置格式化日期和时间, 并返回宽字符串 strptime() 根据指定格式把字符串转换为时间值, 是strftime的反过程 打印和扫描字符串: 宽字符函数描述 fprintf()/fwprintf() 使用vararg参量的格式化输出 fscanf()/fwscanf() 格式化读入 printf() 使用vararg参量的格式化输出到标准输出 scanf() 从标准输入的格式化读入 sprintf()/swprintf() 根据vararg参量表格式化成字符串 sscanf() 以字符串作格式化读入 vfprintf()/vfwprintf() 使用stdarg参量表格式化输出到文件 vprintf() 使用stdarg参量表格式化输出到标准输出 vsprintf()/vswprintf() 格式化stdarg参量表并写到字符串 数字转换: 宽字符函数 普通C函数描述 wcstod() strtod() 把宽字符的初始部分转换为双精度浮点数 wcstol() strtol() 把宽字符的初始部分转换为长整数 wcstoul() strtoul() 把宽字符的初始部分转换为无符号长整数 多字节字符和宽字符转换及操作: 宽字符函数描述 mblen() 根据locale的设置确定字符的字节数 mbstowcs() 把多字节字符串转换为宽字符串 mbtowc()/btowc() 把多字节字符转换为宽字符 wcstombs() 把宽字符串转换为多字节字符串 wctomb()/wctob() 把宽字符转换为多字节字符 输入和输出: 宽字符函数 普通C函数描述 fgetwc() fgetc() 从流中读入一个字符并转换为宽字符 fgetws() fgets() 从流中读入一个字符串并转换为宽字符串 fputwc() fputc() 把宽字符转换为多字节字符并且输出到标准输出 fputws() fputs() 把宽字符串转换为多字节字符并且输出到标准输出串 getwc() getc() 从标准输入中读取字符, 并且转换为宽字符 getwchar() getchar() 从标准输入中读取字符, 并且转换为宽字符 None gets() 使用fgetws() putwc() putc() 把宽字符转换成多字节字符并且写到标准输出 putwchar() putchar() 把宽字符转换成多字节字符并且写到标准输出 None puts() 使用fputws() ungetwc() ungetc() 把一个宽字符放回到输入流中 字符串操作: 宽字符函数 普通C函数描述 wcscat() strcat() 把一个字符串接到另一个字符串的尾部 wcsncat() strncat() 类似于wcscat(), 而且指定粘接字符串的粘接长度. wcschr() strchr() 查找子字符串的第一个位置 wcsrchr() strrchr() 从尾部开始查找子字符串出现的第一个位置 wcspbrk() strpbrk() 从一字符字符串中查找另一字符串中任何一个字符第一次出现的位置 wcswcs()/wcsstr() strchr() 在一字符串中查找另一字符串第一次出现的位置 wcscspn() strcspn() 返回不包含第二个字符串的的初始数目 wcsspn() strspn() 返回包含第二个字符串的初始数目 wcscpy() strcpy() 拷贝字符串 wcsncpy() strncpy() 类似于wcscpy(), 同时指定拷贝的数目 wcscmp() strcmp() 比较两个宽字符串 wcsncmp() strncmp() 类似于wcscmp(), 还要指定比较字符字符串的数目 wcslen() strlen() 获得宽字符串的数目 wcstok() strtok() 根据标示符把宽字符串分解成一系列字符串 wcswidth() None 获得宽字符串的宽度 wcwidth() None 获得宽字符的宽度 另外还有对应于memory操作的 wmemcpy(), wmemchr(), wmemcmp(), wmemmove(), wmemset()
相关文章推荐
- Linux上配置Apache,支持中文名称文件下载的方法 ZT
- LINUX支持中文
- linux下jvm中文字体支持说明
- AES加密、解密(linux、window加密解密效果一致,支持中文)
- linux中文支持语言包及设置参数
- Linux 服务器设置成支持中文
- linux下mysql支持中文的问题
- Linux下(手动编译)安装MPlayer 及 不支持中文文件名的解决方法
- Red Hat Enterprise Linux 6 64-bit 系统下安装中文语言支持方法
- [Linux] 使Linux支持中文输入法,但UI上显示英文
- linux 安装中文支持包及中文字符集配置
- Linux支持中文及安装VIM IDE
- linux5.4支持中文及中文输入法
- [Linux]Ubuntu下安装Sublime-text 且 支持中文输入
- linux redhat 6 安装中文支持
- Linux 服务器设置成支持中文
- Red Hat Enterprise Linux 5实现系统正常英文显示,terminal中vi编辑器内支持中文显示和输入
- 在linux系统(CentOS)上安装中文支持包
- Ubuntu(Linux)中文支持,包括文本模式中文化
- Linux下的中文显示和支持常见问题解答