成为符合ansi和unicode的应用程序

来源:互联网 发布:淘宝软妹店铺 编辑:程序博客网 时间:2024/05/22 06:46

将应用程序转换成符合unicode的应用程序应该遵循的原则:
1.将文本串作为字符数组,而不是chars数组或字节数组。
2.将通用数据类型如TCHAR和PTSTR用于文本数组和字符串。
3.将显示数据类型如BYTE和PBYTE用于字节,字节指针和数据缓存。
4.将TEXT宏用于原义字符和字符串。
5.全局性替换,如PTSTR替换PSTR
6.修改字符串运算问题,类似sizeof(szBuffer)/(TCHAR), malloc(nCharacters *sizeof(TCHAR))

资源编译器对所有的资源进行编译时,输出文件是资源的二进制文件,资源中的字符串值总是写作unicode字符串,如果未定义UNICODE宏,系统将进行内部转换。如调用loadstring  函数实际是调用loadstringA(),loadstringA()就会从你的资源文件中读取字符串,并把它转换成ANSI字符串。


IsTextUnicode函数用于确定文本文件是否未unicode。


MultibyteToWideChar和WideCharToMultiByte可用于两种字符串之间的相互转化,可把0作为cchMultiByte的值作

为参数传入来确定需要分配的缓存大小,再调用一次实现转换。

这样你可以为你的dll函数编写unicode和ansi版本(例子可参见windows核心编程2.9.4),最后再用dll分配的头

文件中,可以用#ifdef
              #define
              #else
              #define
建立两个函数的原型。 

原创粉丝点击