C++中文字符乱码与iconv库转化编码

63 篇文章 31 订阅 ¥39.90 ¥99.00

问题与解决方法

使用UFT-8保存的文本、代码,打印中文直接乱码,解决方法可以是
1.把代码、文件用GBK编码格式保存,或者,在UFT-8编码的代码文件中
2.使用iconv库进行编码转换,将UTF-8编码转化成GBK
iconv_open函数是C语言中用于打开转换句柄的函数,其原型如下:

iconv_t iconv_open(const char *tocode, const char *fromcode);

该函数接受两个参数,分别为目标编码和源编码,返回值为一个iconv_t类型的转换句柄。使用该函数打开转换句柄后,可以使用iconv函数进行编码转换。如果打开转换句柄失败,iconv_open函数会返回一个特殊的值ICONV_INVALID_HANDLE,可以使用iconv_strerror函数获得错误信息。
在C语言中,iconv函数的原型为:

size_t iconv(iconv_t cd, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft);

其中:

  • cd为iconv_t类型的转换描述符,由iconv_open函数返回;
  • inbuf为指向输入字符数组的指针;
  • inbytesleft为输入字符数组的剩余字节数;
  • outbuf为指向输出字符数组的指针;
  • outbytesleft为输出字符数组的剩余字节数。

iconv函数的作用是将输入字符集编码的字符串转换为输出字符集编码的字符串,并将转换

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百口可乐__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值