iconv.h用于字符集转码

来源:互联网 发布:c 小程序源码下载 编辑:程序博客网 时间:2024/06/09 14:05

#include <iostream>#include "stdio.h"#include "string.h"#include "iconv.h"using namespace std;int main(){ iconv_t cd=iconv_open("GBK","UTF-8");//产生一个转码句柄,从utf8转到gbk char text[]="hello 大家好";//待转文本 const char *ins=text;//待转文本的指针,用于iconv参数兼容。 char outtext[200];//申请200个字符串的输出空间 char *outs=outtext;//空间的指针  size_t il,ol=100;//待转文本长度和输出文本长度,字节数表示 il=strlen(text);//得出待转文本长度,可能有问题,待测试  printf("in=>%s\n",ins); iconv(cd,&ins, &il, &outs, &ol);//该函数递归执行,所有参数的内存都在外部,il,outs,ol的值都在函数执行输入后变化. //  cout << "output=>"<<outtext <<" ol=>"<<ol<< endl; //由于outs指针已经指向未知领域,只有outtext指向的是原起始位置,输出转换后的正确值。  iconv_close (cd);    return 0;}


0 0
原创粉丝点击