第二章 字符和字符串处理

      一:  TCHAR c=TEXT('A');

              TCHAR szBuffer[100]=TEXT("A String");

   无论使用ANSI还是Unicode字符,编译器都能通过编译。

     二:在使用WInExec和OpenFile调用的地方,应该用CreateProcess和CreateFile调用来代替。

     三:应当遵循的基本准则:

           1、开始将文本字符串想象为字符的数组,而不是char或字节的数组。

           2、用通用数据类型(如TCHAR/PTSTR)来表示文本字符和字符串。

           3、用明确的数据类型(如BYTE和PBYTE)来表示字节、字节指针和数据缓冲区。

           4、用TEXT或_T宏来表示字面量字符和字符串。

            5、修改与字符串有关的计算,例如,函数经常希望我们传给他缓冲区大小的字符数,而不是字节数,这意味着我们应该传入_countof(szBuffer),而不是sizeof(szBuffer)。

           6、避免使用printf系列函数,尤其是不要用%s和%S字段类型来进行ANSI和Unicode字符串之间的转换,正确的做法是使用MultiByteToWideChar和WideCharToMultiByte函数

           7、不要使用Kernel32方法来进行字符串的处理,比如lstrcat和lstrcpy。

你可能感兴趣的:(c,String,byte,编译器)