#include <iconv.h>
typedef long unsigned int size_t;
int UTF8toGBK(char *inbuf, size_t inlen, char *outbuf, size_t outlen)
{
iconv_t cd;
char **pin = &inbuf;
char **pout = &outbuf;
cd = iconv_open("gbk", "utf-8"); //gb2312
if (0 == cd)
return -1;
if (-1 == iconv(cd, pin, &inlen, pout, &outlen))
{
iconv_close(cd);
return -1;
}
iconv_close(cd);
return 0;
}