64,683
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
char c[6]="abcçã";
std::cout<<"çã"<<std::endl;
std::cout<<c<<std::endl;
int i;
std::cin>>i;
return 0;
}
#pragma comment(lib,"iconv.lib")
int code_convert(char *from_charset,char *to_charset,const char *inbuf, size_t inlen,char *outbuf, size_t outlen)
{
iconv_t cd;
const 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, &inlen,pout, &outlen)==-1) return -1;
iconv_close(cd);
return 0;
}
/* 示例: UTF-8 to GB2312 */
int u2g(const char *inbuf, size_t inlen, char *outbuf, size_t outlen)
{
return code_convert("UTF-8","GB2312",inbuf,inlen,outbuf,outlen);
}
/* 示例: GB2312 to UTF-8 */
int g2u(const char *inbuf, size_t inlen, char *outbuf, size_t outlen)
{
return code_convert("GB2312", "UTF-8", inbuf, inlen, outbuf, outlen);
}