鱼C论坛

 找回密码
 立即注册
查看: 2390|回复: 19

[已解决]求一个iconv的源代码

[复制链接]
发表于 2023-3-3 20:17:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 zhangjinxuan 于 2023-6-23 09:03 编辑

为了使用 extc++,感谢

评分

参与人数 2鱼币 +2 收起 理由
myd0311 + 1 鱼C有你更精彩^_^
myd0313 + 1 请不要无意义灌水!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-3 20:32:55 | 显示全部楼层
是哪个 extc++?是这个 iconv 吗?
https://www.gnu.org/software/libiconv/

评分

参与人数 1贡献 +3 收起 理由
sfqxx + 3 升级!!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-3 21:19:08 | 显示全部楼层
dolly_yos2 发表于 2023-3-3 20:32
是哪个 extc++?是这个 iconv 吗?
https://www.gnu.org/software/libiconv/

C++有一个“黑科技”库:bits/extc++.h,比 stdc++.h 有很多更加有趣味

评分

参与人数 1荣誉 +1 收起 理由
myd0313 + 1 无条件支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2023-3-3 22:01:45 From FishC Mobile | 显示全部楼层
zhangjinxuan 发表于 2023-3-3 21:19
C++有一个“黑科技”库:bits/extc++.h,比 stdc++.h 有很多更加有趣味

哦 这个 没记错的话是 GCC 的,不是 C++ 标准库
所以是哪个 iconv?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-4 07:45:18 | 显示全部楼层
dolly_yos2 发表于 2023-3-3 22:01
哦 这个 没记错的话是 GCC 的,不是 C++ 标准库
所以是哪个 iconv?

算了,ext不用也罢

评分

参与人数 1荣誉 +1 收起 理由
myd0313 + 1 感谢楼主无私奉献!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-4 10:38:28 | 显示全部楼层
func (ic *Iconv) convert(input []byte, out io.Writer, outBuf []byte) (bytesConverted int, err error) {
    inputLen := len(input)
    if inputLen == 0 {
        return
    }

    outputLen := len(outBuf)
    if outputLen == 0 {
        outputLen = inputLen
        outBuf = make([]byte, outputLen)
    }

    outputPtr := &outBuf[0]
    outputPtrPtr := (**C.char)(unsafe.Pointer(&outputPtr))
    outputBytesLeft := C.size_t(outputLen)

    inputPtr := &input[0]
    inputPtrPtr := (**C.char)(unsafe.Pointer(&inputPtr))
    inputBytesLeft := C.size_t(inputLen)

    _, err = C.iconv(ic.pIconv, inputPtrPtr, &inputBytesLeft, outputPtrPtr, &outputBytesLeft)
    bytesConverted = inputLen - int(inputBytesLeft)
    if int(outputBytesLeft) < outputLen {
        out.Write(outBuf[:outputLen-int(outputBytesLeft)])
    }
    return
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-4 10:56:57 | 显示全部楼层


iconv 库的源代码,这时瓜娃码?

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
myd0313 + 1 + 1 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-5 11:26:24 | 显示全部楼层
zhangjinxuan 发表于 2023-3-4 10:56
iconv 库的源代码,这时瓜娃码?

瓜娃是啥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-5 11:27:24 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-5 15:38:52 | 显示全部楼层

java?

评分

参与人数 1鱼币 +1 收起 理由
myd0313 + 1 无条件支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-5 15:39:25 | 显示全部楼层
sfqxx 发表于 2023-3-5 11:27
看看这个→https://dude6.com/q/a/1410735.html

付费

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
myd0313 + 1 + 1 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-5 15:47:43 From FishC Mobile | 显示全部楼层
zhangjinxuan 发表于 2023-3-5 15:39
付费

呃……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-5 16:47:13 From FishC Mobile | 显示全部楼层
zhangjinxuan 发表于 2023-3-5 15:39
付费

兄啊,所以我之前发的链接是不行还是不对?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-5 17:01:02 | 显示全部楼层
本帖最后由 zhangjinxuan 于 2023-3-5 17:02 编辑
dolly_yos2 发表于 2023-3-5 16:47
兄啊,所以我之前发的链接是不行还是不对?


看不懂(

评分

参与人数 1鱼币 +1 收起 理由
myd0313 + 1 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-5 19:40:03 | 显示全部楼层
sh-5.1$ pacman -Ss libiconv
community/libiconv 1.17-1
    GNU charset conversion library
archlinuxcn/julia-git-libiconv_jll-git 1.16.1+2-1
    Libiconv_jll.jl
sh-5.1$
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-5 19:45:43 | 显示全部楼层

可.我是windows啊

评分

参与人数 1鱼币 +1 收起 理由
myd0313 + 1 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-5 20:01:54 From FishC Mobile | 显示全部楼层
zhangjinxuan 发表于 2023-3-5 19:45
可.我是windows啊

简单,换linux就好
所以说,linux是一个程序员友好的系统,需要的软件就是一条命令的事,windows的话,你就用鼠标在百度上面一个一个的找吧
在windows上那就规规矩矩的,windows给你准备了什么你就用什么,没有给你准备,那就不用,在windows上折腾这些稀奇古怪,花里胡哨的东西,那你只能是自讨苦吃
综上所述,换linux

评分

参与人数 1荣誉 +5 收起 理由
zhangjinxuan + 5 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-5 20:07:43 | 显示全部楼层    本楼为最佳答案   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-5 20:11:45 | 显示全部楼层
人造人 发表于 2023-3-5 20:07
借花献佛
https://www.gnu.org/software/libiconv/
https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.1 ...

行吧,反正windows也用不着extc++

评分

参与人数 1鱼币 +1 收起 理由
myd0313 + 1 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-5 20:11:58 | 显示全部楼层
sh-5.1$ ls libiconv-1.17.tar.gz
libiconv-1.17.tar.gz
sh-5.1$ tar -xf libiconv-1.17.tar.gz
sh-5.1$ cd libiconv-1.17
sh-5.1$ ls
ABOUT-NLS    ChangeLog           INSTALL.generic  NEWS    aclocal.m4         configure.ac  include           man        srclib        windows
AUTHORS      DEPENDENCIES  INSTALL.windows  NOTES   build-aux         doc               lib           os2        srcm4        woe32dll
COPYING      DESIGN           Makefile.devel   README  config.h.in  extras        libcharset  po        tests
COPYING.LIB  HACKING           Makefile.in            THANKS  configure         gnulib-local  m4           src        tools
sh-5.1$ mkdir build
sh-5.1$ cd build
sh-5.1$ ../configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make sets $(MAKE)... (cached) yes
checking for gcc... gcc
...
config.status: creating include/localcharset.h
config.status: creating include/localcharset.h.inst
config.status: creating config.h
config.status: executing libtool commands
sh-5.1$
sh-5.1$ ls
Makefile  config.h  config.log        config.status  include        lib  libcharset  libtool  man  po  src        srclib        stamp-h1  tests
sh-5.1$ make -j 4
builddir="`pwd`"; cd libcharset && make all && make install-lib libdir="$builddir/lib" includedir="$builddir/lib"
make[1]: Entering directory '/tmp/libiconv-1.17/build/libcharset'
cd lib && make all
make[2]: Entering directory '/tmp/libiconv-1.17/build/libcharset/lib'
...
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/tmp/libiconv-1.17/build/tests'
sh-5.1$
sh-5.1$ ls
Makefile  config.h  config.log        config.status  include        lib  libcharset  libtool  man  po  src        srclib        stamp-h1  tests
sh-5.1$
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 17:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表