当前位置:网站首页 > 技术博客 > 正文

c语言汉字编码转换



c语言使用iconv函数实现字符编码转换
linux下提供了iconv库来实现字符编码转换,先介绍下命令行:
iconv [-f encoding] [-t encoding] [inputfile ...]
这个用法比较简单。
使用编程方式就要用到三个函数,这三个函数都需要包含头文件#include <iconv.h>。分别为:iconv_open,iconv,iconv_close。
一般步骤为:先使用iconv_open打开一个字符转换的描述符,使用iconv执行实际的转换,转换完成后,使用iconv_close进行必要的清理工作。
介绍函数的使用方法:
1)iconv_open
函数原型为:
这个函数返回一个把formcode编码的字符串转换成tocode编码的字符串的转换描述符。 
  
如果发生错误返回(iconv_t)-1,同时设置errno。
2)iconv
函数原型为:
这个函数利用iconv_open返回的转换描述符执行实际的转换操作。inbuf代表需要转换编码的字符地址,inbytesleft代表需要转换的字符个数地址,outbuf代表需要转换后的字符存放地址,outbytesleft代表存放转换后字符的最大个数地址。这个函数会修改传进来的参数,所以,要用另外用四个变量来表示这个地址。 
   

函数执行失败返回(size_t)-1,errno被设置,否则,返回以不可逆的方式转换的字符个数,可逆转换的字符个数没有统计。
3)iconv_close
函数原型为:
这个函数关闭之前调用iconv_open返回的描述符,释放内存空间,如果成功返回0,否则返回-1,errno被设置。 
  
例子:
 
   



参考:http://www.cnblogs.com/xuxm2007/archive/2010/11/09/1872379.html

版权声明


相关文章:

  • 免费爬虫软件哪个好2025-05-27 18:30:04
  • 适配器模式的概念2025-05-27 18:30:04
  • 单例设计模式的应用场景2025-05-27 18:30:04
  • c语言结构体嵌套定义2025-05-27 18:30:04
  • js中原型链的理解2025-05-27 18:30:04
  • cpp_properties.json2025-05-27 18:30:04
  • 二叉排序树怎么构造详细步骤2025-05-27 18:30:04
  • 左连接sql语句简单写法2025-05-27 18:30:04
  • 分布式缓存技术2025-05-27 18:30:04
  • java手机模拟器2025-05-27 18:30:04