免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1485 | 回复: 3
打印 上一主题 下一主题

求教C程序中存在big5码无法编译的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-03-12 17:58 |只看该作者 |倒序浏览
写了一个程序是批量将CPP文件中含有的GBK字符转换为BIG5字符,完成后发现有些转换后的文件无法编译,经过调试发现如下原因:
BIG5码表中的汉字存在低位为0x5C,即ASCII字符\,由该字符引起了string相关的转义错误,手工解决办法是在该字符后再添加一个\,程序可正常编译通过。
    但目前的问题是,批量转换的文件中除了包涵CPP源码和PERL程序外,还有普通的GBK编码的中文文本文件,如果利用程序对所有BIG5汉字低位为0x5C的都追加一个紧跟的0x5C,程序编译的问题可以解决但是普通文本显示的时候会多一个\。
    现像达人请教如何解决这个问题,gcc编译器是否有相关的开关,或者还有什么别的途径(通过文件扩展名识别文件类型的方法就谢过不用了)。

论坛徽章:
0
2 [报告]
发表于 2004-03-15 13:53 |只看该作者

求教C程序中存在big5码无法编译的问题

偶现在改了转码的程序,凡是遇到低位字节为0x5c的通通多加了一个0x5c这样需要转码的地方就可以编译过去了,但是遇到新的问题:
程序里面有不少用//做的注释,当该行末尾的汉字在转码后若恰好低位字节为0x5c则被转换为\\,可是\本是出现在末尾是表示折行的啊,这样该注释下面的源码又被编译器识别成注释了,自然又导致编译错误。
请教达人怎么解决这个问题啊,应该不是没有办法吧,难道台湾人写程序就不用gcc了么?他们怎样解决这个问题呢?

论坛徽章:
0
3 [报告]
发表于 2004-03-15 14:00 |只看该作者

求教C程序中存在big5码无法编译的问题

在c里怎样获得汉字的原码啊?求教了

论坛徽章:
0
4 [报告]
发表于 2004-03-16 14:32 |只看该作者

求教C程序中存在big5码无法编译的问题

找码表啊,不知道你具体是什么意思啊。
偶的问题偶自问自答好了,查阅了一些台湾的资料,最后在交大资工的BBS看到避免这个问题的方法就是避免使用这些低字节为0x5c的BIG5汉字,偶在这里把GB转成BIG5后会低字节为0x5c的汉字列个表如下,给有用的人参考:
佢偅傜兝垥塿墦娖嫹嬞尐岤幋廄揊擺柦槙歿汻淚滜潿瀙焮燡狖獦珮摆豹餐礒穀盖箤功谷綅厩縷吭枯愧泪缕胐琵茻莍蓋螏螰许铀俞許阅贕赨坼躡苒蔌吒咤鄃酀酅醆崤鈾惝沔涠瀵鎪娉孀幺璞閱殁暝牾罡锼稞餤駹騱髏跚蹑鲚鱋鱭髅黠
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP