iconv

1709阅读 0评论2009-08-04 iedey
分类:LINUX

在使用iconv进行编码转换的时候,一直不能成功,查了好久才发现竟然是参数问题。
    iconv的函数原型:
    size_t iconv(iconv_t cd, char **restrict inbuf,
                   size_t *restrict inbytesleft, char **restrict outbuf,
                   size_t *restrict outbytesleft);
第四个参数outbuf,我一直是这样传的:
    定义char buf[128];
    然后传入&buf, 可能iconv的内部实现要改变outbuf这个参数的值,总之这样传入就不行,只能再定义一个指针:
    char *outbuf = buf;
    然后传入&outbuf,成功!
上一篇:libtool的一些用法
下一篇:vim的多行注释和替换