c/c++中涉及中文编码问题的解决方法

9 篇文章 0 订阅

使用c/c++读取中文内容的文档时,经常会出现因为编码问题,读取失败的问题。

比如某个文件的内容是中文的,但是其编码方式是cp936,这是如果使用fopen,就可能出现问题。

这里采用shell命令中的iconv方法,转换文档编码,将其转为utf-8,就可以实现中文内容的正确读取。

关于iconv的用法如下

iconv -f 源文件编码 -t 目标文件编码 -o 目标文件 源文件

这里需要主要的是,目标文件和源文件不能是同一个文件,我这里运行时出现了buss error

如果想进行in-place操作,可以用一个临时文件进行替换,再用比如mv命令重命名该临时文件为源文件名即可

这里有一个疑问,就是,如何自动知道源文件编码,实现自动化替换,有谁知道吗,求指导

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值