int gb2312toutf8(const char *sourcebuf, size_t sourcelen, char *destbuf, size_t destlen)
{
iconv_t ict;
ict = iconv_open("utf-8", "gb2312");
memset(destbuf, 0, destlen);
const char **source = &sourcebuf;
char **dest = &destbuf;
iconv(ict, (char**)(source), &sourcelen, dest, &destlen);
iconv_close(ict);
return 0;
}
libiconv库路径:https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
一般情况下,一个utf-8字符占用3个字符空间,一个gb2312是2个字符空间,转换之前需要申请足够空间存放相应的字符