易截截图软件、单文件、免安装、纯绿色、仅160KB

关于 linux 中 iconv() 函数 的问题

最近在写spider 需要要解决 编码转换 问题  用到  iconv() 函数 

但也不知道 哪里有问题  老是整不出来  哪位大侠  帮帮忙 

代码  如下:(头文件没复制)

//CodeConvert.cpp

#include "CodeConvert.h"
#include "stdlib.h"
#include <string.h>
#include <errno.h>

CCodeConv::CCodeConv(const char *from_charset,const char *to_charset)
{
cd=iconv_open(to_charset,from_charset);
if( cd== (iconv_t) -1 )
{
cout < <"cannot open iconv discripter!" < <endl;
iconv_close(cd);
exit(0);
}
}

CCodeConv::~CCodeConv()
{
iconv_close(cd);
}

bool CCodeConv::Convert(char *inbuf,long inlen,char *outbuf,long outlen)
{
char **pin=&inbuf;
char **pout=&outbuf;
memset(outbuf,0,outlen);
if( -1==iconv(cd,pin,(size_t *)&inlen,pout,(size_t *)&outlen) )
{
cout < <"have error in iconv()!" < <endl;
cout < <errno < <" " < <strerror(errno) < <endl;
return false;
}
return true;
}


#include "CodeConvert.h"
#include <string.h>

int main()
{
char *in="Íõ";


相关问答:

[求助]linux网络编程中select出错

目标:当网络中有数据到达或者超时,程序进入下一次循环。
问题:select()函数不起作用,程序不会在select的地方阻塞一秒,并且当网络上有数据的时候,select的返回值仍然小于0
    #include <s ......

Linux系统下能否实现以下这个功能

现在的做法是,通过crontab每分钟执行一个php,这个php负责从数据库中取出邮件,然后发送

问题是,如果邮件很多,每分钟执行不完,那会造成很多php进程

能不能实现等这个php执行完了立即启动一个新的?不用cr ......

怎样修改Linux程序

我要修改一个Linux程序中的一个字符串,目的串比原来的长,所以直接替换程序无法运行,要怎么办才能使程序正常运行?
不明白你要干什么 改什么程序?

一个手机上的模拟器,本来是在/mmc/mmca1下创建Roms文件夹, ......

Linux编程--fopen函数的用法?

请问各位高手:C编程中的fopen函数,原型是 fopen(const char *filename,const char mode),请问在使用这个函数时,要想从Linux终端输入文件名和mode,该如何处理?谢谢!!

          ......

linux 编程 chroot函数多次调用的问题请教

在程序中调用chroot("/mnt");后 我想再转回chroot("/"); 这个时候不能再转回系统根目录环境了 应该怎么做??
chroot()执行成功之后,根目录是进行了切换,但是当前工作目录没有变化,还是chro ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号