Unicode和字符串处理(二)
)来表示文本字符和字符串
3. 用明确的数据类型(如BYTE或PBYTE)表未字节,字节指针和数据缓冲区
4. 用TEXT或_T宏来表示字面常字符和字符串,但为了保持一致,请避免混用
5. UNICODE和_UNICODE符号要么同时指定,要不都不指定
6. 避免使用printf系列函数,尤其不要使用%s和%S来进行ANSI与Unicode字符串之间的转换,正确的做法是使用MultiByteToWideChar和WideCharToMultiByte函数
7. 修改有关字符串的计算。例如,函数经常希望传给它的是缓冲区大小的字符数,而不是字节数,这时应使用_countof(szBuffer),而不是sizeof(szBuffer)。如果要为一个字符串分配内存块,那么请记住内存是以字节来分配的。这意味着需使用malloc(nCharacters * sizeof(TCHAR)),而不是调用malloc(nCharacters)。