你的c语言中文版项目使用 char 还是 wchar_t?

第一次接触 c 应该是在99年的时候,自学了一段时间后因为学不下去果断放弃。

第二次接触 c 应该是在11年的时候,那时我已经在工作中学习和使用 java 差不多8年的时间。11年左右刚好不太忙,就买了一本 c 的经典书籍《The C Programming Language》的中文版《C程序设计语言》,又重新学习了一遍。

过去由于工作中一直用java, 关于字符的处理只用到了 String,不同编码(gbk, utf-8)之间的转换也简单。

当我把《C程序设计语言》看完后,我只知道 char, 就压根不知道 wchar_t 的存在

后来在用 c 写字符串处理的通用代码时,只知道用 char,差不多三五年后,突然有一天,一个用户向我反应,软件中有个汉字(生僻字)无法显示,汉字变成了【问号 ?】

我才发现,我走在一条错误的道路上,并且这条道走的有点远,现在想回头很难。

一个代码量在5 - 10万行的项目,现在想把所有 char 改成 wchar_t,感觉好难。牵一发而动全身,稍不留神可能就会产生bug,我现在真的没勇气去改。

 

---------------------------------------------------------------------------

在此奉劝各位c语言的初学者,如果你写的是中文版的软件项目,建议:

项目的文件编码:UTF-8

项目中关于字符的处理,使用 wchar_t ,不要用 char

 ---------------------------------------------------------------------------

 

宽字符wchar_t 与 窄字符char

https://www.cnblogs.com/lanhaicode/p/10574260.html

 

刨根问底:C++中宽字符类型(wchar_t)的编码一定是Unicode?长度一定是16位?

https://www.ituring.com.cn/article/111027

posted @ 2022-02-14 09:41  personnel  阅读(115)  评论(0)    收藏  举报
友情链接:图片批量处理工具 gif动态图制作工具 制作电子相册 图片排版工具 制作淘宝主图视频 MKScript 鼠标键盘自动化脚本语言