标题: 再请教一个问题,关于iconv的,返回失败,但转换成功了,不知道原因。 [打印本页] 作者: rain_fish 时间: 2010-11-29 14:22 标题: 再请教一个问题,关于iconv的,返回失败,但转换成功了,不知道原因。 下面是代码,转化成功了,但iconv返回-1,errno为84,errno.84 is: Invalid or incomplete multibyte or wide character
不知道原因,请高手指点。
#include <iconv.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#define OUTLEN 255
//代码转换:从一种编码转为另一种编码
int code_convert(char *from_charset,char *to_charset,char *inbuf,int inlen,char *outbuf,int outlen)
{
iconv_t cd;
int rc;
char **pin = &inbuf;
char **pout = &outbuf;
cd = iconv_open(to_charset,from_charset);
if (cd==0) return -1;
memset(outbuf,0,outlen);
if (iconv(cd,pin,(size_t*)&inlen,pout,(size_t*)&outlen)==-1) return -1;
iconv_close(cd);
return 0;
}
//UNICODE码转为GB2312码
int u2g(char *inbuf,int inlen,char *outbuf,int outlen)