关于 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="Íõ";
相关问答:
目标:当网络中有数据到达或者超时,程序进入下一次循环。
问题:select()函数不起作用,程序不会在select的地方阻塞一秒,并且当网络上有数据的时候,select的返回值仍然小于0
#include <s ......
现在的做法是,通过crontab每分钟执行一个php,这个php负责从数据库中取出邮件,然后发送
问题是,如果邮件很多,每分钟执行不完,那会造成很多php进程
能不能实现等这个php执行完了立即启动一个新的?不用cr ......
我要修改一个Linux程序中的一个字符串,目的串比原来的长,所以直接替换程序无法运行,要怎么办才能使程序正常运行?
不明白你要干什么 改什么程序?
一个手机上的模拟器,本来是在/mmc/mmca1下创建Roms文件夹, ......
请问各位高手:C编程中的fopen函数,原型是 fopen(const char *filename,const char mode),请问在使用这个函数时,要想从Linux终端输入文件名和mode,该如何处理?谢谢!!
  ......
在程序中调用chroot("/mnt");后 我想再转回chroot("/"); 这个时候不能再转回系统根目录环境了 应该怎么做??
chroot()执行成功之后,根目录是进行了切换,但是当前工作目录没有变化,还是chro ......