2 zjx432 zjx432 于 2013.08.22 11:15 提问

cocos2dx iconv编码转换的疑问

在cocos2dx 中可以用iconv来进行gb2312和utf8之间的转换,但是我在运用的时候发现了一些问题。

在转换的过程中我用到了一个转换函数:

int code_convert(const char *from_charset, const char *to_charset, const char *inbuf, size_t inlen, char *outbuf, size_t outlen)
{
iconv_t cd;
const char *temp = inbuf;
const char **pin = &temp;
char **pout = &outbuf;
memset(outbuf,0,outlen);
cd = iconv_open(to_charset,from_charset);
if(cd==0) return -1;
if(iconv(cd,pin,&inlen,pout,&outlen)==-1) return -1;
iconv_close(cd);
CCLOG(outbuf);
CCLOG("test");
return 0;
}
这个函数本来是很简单的,但在CCLOG(outbuf)处,输出了空字符串?
但是在函数返回之后,outbuf却有了值了,这个地方不解?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!