• 你的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

  • 相关阅读:
    4-11
    4-10
    4-9
    4-7
    4-8
    4-6
    4-4
    4-5
    4-3
    4-2
  • 原文地址:https://www.cnblogs.com/personnel/p/15891317.html
Copyright © 2020-2023  润新知