如果
char buff[] = "string";
怎样用 L宏?

解决方案 »

  1.   

    L"string"表示Unicode字符串,是const WCHAR *类型,一个字符有16位。而_T("string")的含义和_UNICODE宏定义有关,如果_UNICODE定义,则_T("string")和L"string"一样,否则_T("string")是普通字符串。char buff[] = "string";
    WCHAR buff[]=L"string"
      

  2.   

    TCHAR buff[] = L"string";
      

  3.   

    _T实际上就是L。
    直接用_T("asdbcd")就行了。
      

  4.   

    _T是为了兼容ansi和unicde
    _L是当定义WCHAR_t时,需要添加L才能被编译器认识
      

  5.   

    #include<iostream>
    #include<tchar.h>using namespace std;void main()
    {
    wchar_t array[] = L"String";
    TCHAR array2[] = _T("string");
    }
    它们的原型是:
    typedef unsigned short wchar_t
    typedef unsigned short TCHAR // 如果定义了_UNICODE就是wchar_t,不然就是char,上面的程序说明定义了_UNICODE
      

  6.   

    MyNameEPC(MyName) 说的很清楚了"string"      每个字符1字节
    _T("string")  每个字符1(未定义UNICODE)或者2(定义了UNICODE)字节
    L"string"     每个字符2字节(包括最后的'\0'也是2字节)
      

  7.   


    char buff[] = "string";
    ==>
    #include <TCHAR.H>
    ....
    TCHAR buff[] = L"string";