iconv函数详解

来源:互联网 发布:微信群控软件 技术原理 编辑:程序博客网 时间:2024/05/18 03:33

大家都知道 iconv() 是编码转换函数,但是各个参数的具体含义可能不是那么清楚。


我简单介绍一下:


头文件:

#include <iconv.h>


函数声明:

size_t iconv(iconv_t cd, char **restrict inbuf,             size_t *restrict inbytesleft, char **restrict outbuf,             size_t *restrict outbytesleft); 


各参数含义:

inconv_t cd:函数iconv_open()分配的编码转换句柄。


char **restrict inbuf:指向需要编码转换的缓冲区。(其中关键字restrict只用于限定指针;该关键字用于告知编译器,所有修改该指针所指向内容的操作全部都是基于(base on)该指针的,即不存在其它进行修改操作的途径;这样的后果是帮助编译器进行更好的代码优化,生成更有效率的汇编代码。)


size_t *restrict inbytesleft:inbuf中还需要编码转换的字节数。


char **restrict outbuf:指向存放转码的缓冲区。


size_t *restrict outbytesleft:outbuf中还可以存放转码的字节数,也就是outbuf中的剩余空间。


参考:

http://pubs.opengroup.org/onlinepubs/009695399/functions/iconv.html

http://blog.csdn.net/xiaobai1593/article/details/7072001


原创粉丝点击