亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: AIX5.3下調(diào)用iconv_open失敗,或提示Invalid argument,或提示Invalid wide character [打印本頁]

作者: lingat242    時間: 2009-07-13 17:47
標題: AIX5.3下調(diào)用iconv_open失敗,或提示Invalid argument,或提示Invalid wide character
#include <iconv.h>
#include <iostream>
#include <stdio.h>

using namespace std;

bool UTF_8ToGB2312(char* pDst, char* pSrc)
{
    iconv_t conv;
    size_t uSrcLen;
    size_t uDstLen;

    //strerror(errno)的值,當字符集名稱全為大寫時是Invalid wide character,否則為Invalid argument
    conv = iconv_open("GBK","UTF-8");
    if(conv == (iconv_t)-1)
    {
        return false;
    }
   
    uSrcLen = strlen(pSrc);
    uDstLen = 200;
    memset(pDst, 0x00, uDstLen);

    if (-1 == iconv(conv, &pSrc, &uSrcLen, &pDst, &uDstLen))
    {
        iconv_close(conv);
        return false;
    }
  
    iconv_close(conv);
    return true;
}

int main()
{
    char *strUtf = "璋冪敤BOSS緋葷粺寮傚父錛岃?閲嶆柊灝濊瘯銆?";
    char strGb[200];
   
    if (UTF_8ToGB2312(strGb, strUtf))
    {
        cout<<strGb<<endl;
    }
    else
    {
        cout<<"failed"<<endl;
    }
    return 0;
}



用iconv -l查看,GBK和UTF-8都是有的。

另外,用命令行iconv -f UTF-8 -t GB2312 my.txt,是可以轉(zhuǎn)換成功的。

誰遇過類似的問題,大家?guī)蛶兔Γ?br />
[ 本帖最后由 lingat242 于 2009-7-20 10:10 編輯 ]
作者: lingat242    時間: 2009-08-03 14:42
沒有人知道嗎?
作者: 小加貝    時間: 2010-05-28 23:13
回復(fù) 1# lingat242
與鏈接的動態(tài)庫有關(guān)

    如果你要用g++ -o -m32 test.cpp編譯就會調(diào)用lib/libiconv庫
如果要用g++ -o test.cpp編譯就會調(diào)用lib64/libiconv

上述兩種情況試試看那種支持
作者: phongbin    時間: 2012-08-07 15:50
GBK 問題吧 ic=iconv_open("GB2312","UTF-8");  我的通過了。




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2