血的教训之 ---- 字符集

来源:互联网 发布:淘宝卖家后台 编辑:程序博客网 时间:2024/05/16 18:24

软件工程考完试了,打算把以前用VC6.0写过的一个700行的小程序重新整理下(VC6 默认的 多字符集),并增加些新的功能(类已经写好,用VS2010默认的Unicode),整在一起后发现问题多多呀!!编辑器是 VS2010,弄了一个下午,方法如下:

1. 果断换成 unicode集, 把 常量字符串 全部替换成 _T("") 型。 

方法如下: 在VS2010下,替换,选中正则表达式 将  ".*" 替换成  _T( \0 )   其中\0 在VS2010中表示 查找, 一个一个替换,完成一小步。

2 fputs fgets 神马的全部用不了,要改成 fputws fgetws. 这是宽字符。 

不过 等以后又要用多字符集时候又要改回来。会麻烦死你,果断用 TCHAR.h 定义的 _fputts 什么的……

3. 修改工程量巨大!! 虽然只有700行,可以改得眼泪都要掉出来了。还编译出错~~ 而且以前写的代码实在是 goto来goto去。 


最后的最后: 决定用VS2010 重新写一次!!!! 不解释。~~

1. 以后字符集,统一用 unicode, 要用到字符串 果断用宏 _T( ),再也不用诸如 fgets,fputs的函数,而要用其 TCHAR 版,或者宽字符版, 不然,会出人命。

2. 再小的软件,我也要用软件工程的思想写,表示现在看半年前的代码已经有点晕了。