1. 程式人生 > >解決CFile輸出漢字為亂碼的問題

解決CFile輸出漢字為亂碼的問題

 使用CFile操作檔案十分方便,但是卻會遇到輸出漢字到檔案後變成亂碼的困擾

在網上搜索解決方案得到的結果大多如下:

1.選擇多位元組模式編譯程式  2.使用WideCharToMultiByte函式將寬字元轉換為窄字元再輸出

例如下面的程式碼在多位元組編譯模式下能輸出漢字到檔案

但是很多情況下我們都希望使用UNICODE模式編譯,同時我們也會有疑問,難道就不能把unicode的字元正常輸出到檔案裡面嗎?

網上流行的答案顯然沒有命中問題的要害!其實,unicode字元已經被Cfile忠實地輸入了檔案當中!遺憾的是字處理軟體(如:記事本)不知道其中是unicode字元,將他們統統當做了單位元組字元處理。

要想讓字處理軟體識別unicode必須在檔案頭上加入unicode編碼的前導字元:0xff, 0xfe

於是,可以用下面的程式碼實現漢字的輸出且用字處理軟體開啟不會亂碼

打完,收工.......