强制类型转换
char sz[222];
LPTSTR a=(LPTSTR)sz;

解决方案 »

  1.   

    "互相赋值"??   赋指针还是内容?
    LPTSTR 就是TCHAR*
    如果不是UNICODE,TCHAR* 就是char*
    char型的数组变量名即数组首地址也是char*.
    char a[10];
    LPTSTR lpszb;lpszb=a; 赋地址
    a=lpszb;也是赋地址,但这样就会有内存泄漏(原来的数组内容没有变量指向它)
    如果是赋内容,一般使用strcpy(),
    但lpszb是一个指针,没有存储内容的空间.使用前必须先分配
    lpszb=new char[n];
      

  2.   

    LPTSTR 是指针类型,char ANSI 的字符型,这是重要的。
    ANSI 向宽字符转化没有问题,加一个类型转换就可以了:
    LPTSTR str[CONST];
    char c;
    str[x]=(TCHAR)c;
      

  3.   

    zhang1000(多一个零):
    >char a[10];
    >LPTSTR lpszb;
    >lpszb=a; 赋地址
    >a=lpszb;也是赋地址,但这样就会有内存泄漏(原来的数组内容没有变量指向它)
    上面这一句是不合法的,因为数组名不能作为左值。不是内存泄漏的问题。Albert_Einstein(爱因斯坦):
    >LPTSTR str[CONST];
    这句的申明可能不是你的本意。因为LPTSTR原本就是字符指针了,这样一来就成了一个字符指针数组了。
    >char c;
    >str[x]=(TCHAR)c
      

  4.   

    同意楼上lyy_hill(李)。
    1.a=lpszb
    can't convert from tchar* to char[10].
    2.LPTSTR str[CONST]
    字符串指针数组
      

  5.   


    类型为char型的数组变量与类型为LPTSTR的变量之间怎么进行互相赋值
    如果数组内元素类型为char类型,
    则与类型为LPTSTR的变量之间转换为:
    1.换地址
    LPTSTR lpmyArray;
    lpmyArray=数组名即可
    2值传递
    *lpmyArray=数组[i]其实可直接用数组名作为首地址
    如:char a[10];
    a+2表示访问第三个元素试试