我有一個Windows DLL,目前只支持ASCII,我需要更新它以使用Unicode字符串。這個DLL當前在很多地方使用char *字符串,並創建許多ASCII Windows API調用(如GetWindowTextA,RegQueryValueExA,CreateFileA等)。修改C++ DLL以支持unicode - 避免常見陷阱?
我想切換到使用VC++中定義的unicode/ascii宏。所以,而不是char或CHAR我會使用TCHAR。對於char *我會使用LPTSTR。我認爲像sprintf_s這樣的東西會變成_stprintf_s。
我從來沒有真正處理unicode之前,所以我想知道是否有任何常見的陷阱,我應該注意這樣做。是否應該像使用適當的宏替換類型和方法名稱一樣簡單,還是需要注意其他複雜因素?
我很漂亮的原始記憶。我更擔心我可能會遇到的Win API問題,或者可能不會馬上出現的角落案例。 – Herms 2009-05-04 19:27:11