鱼C论坛

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

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

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

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

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

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

为了使用 extc++,感谢

评分

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

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

评分

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

查看全部评分

小甲鱼最新课程 -> https://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 无条件支持楼主!

查看全部评分

小甲鱼最新课程 -> https://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?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

算了,ext不用也罢

评分

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

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

  6.     outputLen := len(outBuf)
  7.     if outputLen == 0 {
  8.         outputLen = inputLen
  9.         outBuf = make([]byte, outputLen)
  10.     }

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

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

  17.     _, err = C.iconv(ic.pIconv, inputPtrPtr, &inputBytesLeft, outputPtrPtr, &outputBytesLeft)
  18.     bytesConverted = inputLen - int(inputBytesLeft)
  19.     if int(outputBytesLeft) < outputLen {
  20.         out.Write(outBuf[:outputLen-int(outputBytesLeft)])
  21.     }
  22.     return
  23. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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


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

评分

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

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

瓜娃是啥
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-5 11:27:24 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

java?

评分

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

查看全部评分

小甲鱼最新课程 -> https://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有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

呃……
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

兄啊,所以我之前发的链接是不行还是不对?
小甲鱼最新课程 -> https://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有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-5 19:40:03 | 显示全部楼层
  1. sh-5.1$ pacman -Ss libiconv
  2. community/libiconv 1.17-1
  3.     GNU charset conversion library
  4. archlinuxcn/julia-git-libiconv_jll-git 1.16.1+2-1
  5.     Libiconv_jll.jl
  6. sh-5.1$
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

可.我是windows啊

评分

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

查看全部评分

小甲鱼最新课程 -> https://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有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-5 20:07:43 | 显示全部楼层    本楼为最佳答案   
小甲鱼最新课程 -> https://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有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-5 20:11:58 | 显示全部楼层
  1. sh-5.1$ ls libiconv-1.17.tar.gz
  2. libiconv-1.17.tar.gz
  3. sh-5.1$ tar -xf libiconv-1.17.tar.gz
  4. sh-5.1$ cd libiconv-1.17
  5. sh-5.1$ ls
  6. ABOUT-NLS    ChangeLog           INSTALL.generic  NEWS    aclocal.m4         configure.ac  include           man        srclib        windows
  7. AUTHORS      DEPENDENCIES  INSTALL.windows  NOTES   build-aux         doc               lib           os2        srcm4        woe32dll
  8. COPYING      DESIGN           Makefile.devel   README  config.h.in  extras        libcharset  po        tests
  9. COPYING.LIB  HACKING           Makefile.in            THANKS  configure         gnulib-local  m4           src        tools
  10. sh-5.1$ mkdir build
  11. sh-5.1$ cd build
  12. sh-5.1$ ../configure
  13. checking for a BSD-compatible install... /usr/bin/install -c
  14. checking whether build environment is sane... yes
  15. checking for a race-free mkdir -p... /usr/bin/mkdir -p
  16. checking for gawk... gawk
  17. checking whether make sets $(MAKE)... yes
  18. checking whether make supports nested variables... yes
  19. checking whether make sets $(MAKE)... (cached) yes
  20. checking for gcc... gcc
  21. ...
  22. config.status: creating include/localcharset.h
  23. config.status: creating include/localcharset.h.inst
  24. config.status: creating config.h
  25. config.status: executing libtool commands
  26. sh-5.1$
复制代码

  1. sh-5.1$ ls
  2. Makefile  config.h  config.log        config.status  include        lib  libcharset  libtool  man  po  src        srclib        stamp-h1  tests
  3. sh-5.1$ make -j 4
  4. builddir="`pwd`"; cd libcharset && make all && make install-lib libdir="$builddir/lib" includedir="$builddir/lib"
  5. make[1]: Entering directory '/tmp/libiconv-1.17/build/libcharset'
  6. cd lib && make all
  7. make[2]: Entering directory '/tmp/libiconv-1.17/build/libcharset/lib'
  8. ...
  9. make[1]: Nothing to be done for 'all'.
  10. make[1]: Leaving directory '/tmp/libiconv-1.17/build/tests'
  11. sh-5.1$
  12. sh-5.1$ ls
  13. Makefile  config.h  config.log        config.status  include        lib  libcharset  libtool  man  po  src        srclib        stamp-h1  tests
  14. sh-5.1$
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-23 04:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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