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

軟件工程考完試了,打算把以前用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. 再小的軟件,我也要用軟件工程的思想寫,表示現在看半年前的代碼已經有點暈了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章