我将一个库从多字节编译改为unicode编译。我懒得一个个的改动类型,直接将"char"替换为"wchar_t",结果在unsignde char变为unsigned wchar_t出现一个警告:unsigned 不能和wchar_t搭配。我查了一下msdn,发现
unsignde char的范围是-128到127
而wchar_t是0到65535. 我想unsignde char可能不需要改变,或者将unsignde char改为byte类型可能更为合适。不知道我的考虑是否正确。
unsignde char的范围是-128到127
而wchar_t是0到65535. 我想unsignde char可能不需要改变,或者将unsignde char改为byte类型可能更为合适。不知道我的考虑是否正确。
对头!TCHAR还有个好处,你可以把工程在MBCS和Unicode直接方便的转换,只需要在项目设置中变一下就可以了。
引用 1 楼 wutaihua 的回复:
unsignde char 不需要更改,BYTE 在wchar下也可以用,不过我建议楼主直接用通配符,比如char直接用TCHAR。通配符对涉及多字节和unicode的函数都有自己的一套函数,在VS2005 和VS2008的MSDN中一般都会在每个函数的介绍中,加上通配符使用的函数,比如计算长度,多字节是用strlen, 而通配符是用_tcslen() 同意!
接着同意