请问,数组为char型的变量与类型为LPTSTR的变量之间怎么进行互相赋值? 强制类型转换char sz[222];LPTSTR a=(LPTSTR)sz; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 "互相赋值"?? 赋指针还是内容?LPTSTR 就是TCHAR*如果不是UNICODE,TCHAR* 就是char*char型的数组变量名即数组首地址也是char*.char a[10];LPTSTR lpszb;lpszb=a; 赋地址a=lpszb;也是赋地址,但这样就会有内存泄漏(原来的数组内容没有变量指向它)如果是赋内容,一般使用strcpy(),但lpszb是一个指针,没有存储内容的空间.使用前必须先分配lpszb=new char[n]; LPTSTR 是指针类型,char ANSI 的字符型,这是重要的。ANSI 向宽字符转化没有问题,加一个类型转换就可以了:LPTSTR str[CONST];char c;str[x]=(TCHAR)c; zhang1000(多一个零):>char a[10];>LPTSTR lpszb;>lpszb=a; 赋地址>a=lpszb;也是赋地址,但这样就会有内存泄漏(原来的数组内容没有变量指向它)上面这一句是不合法的,因为数组名不能作为左值。不是内存泄漏的问题。Albert_Einstein(爱因斯坦):>LPTSTR str[CONST];这句的申明可能不是你的本意。因为LPTSTR原本就是字符指针了,这样一来就成了一个字符指针数组了。>char c;>str[x]=(TCHAR)c 同意楼上lyy_hill(李)。1.a=lpszbcan't convert from tchar* to char[10].2.LPTSTR str[CONST]字符串指针数组 类型为char型的数组变量与类型为LPTSTR的变量之间怎么进行互相赋值如果数组内元素类型为char类型,则与类型为LPTSTR的变量之间转换为:1.换地址LPTSTR lpmyArray;lpmyArray=数组名即可2值传递*lpmyArray=数组[i]其实可直接用数组名作为首地址如:char a[10];a+2表示访问第三个元素试试 谁接触过RTP? 求教BCG的关于tabview问题 连续定义三个CStringArray绘出问题??? 问一下显示器故障的问题 DpToLp,LpToDp和ClientTScreen,ScreenToClient它们的区别的在哪里???? 请教各位怎么样移动窗口 求一个思路 我不想让用户按Ctrl+Alt+Del键,如何实现?UP即有分。 请高手指点-----接口继承的问题? 请问我如何在我的程序中的“按扭”控件变成有图标的那种?(20分送) 如何从正在播放的Media Player中得到BMP文件? 如何将HCURSOR转换为HBITMAP?
LPTSTR 就是TCHAR*
如果不是UNICODE,TCHAR* 就是char*
char型的数组变量名即数组首地址也是char*.
char a[10];
LPTSTR lpszb;lpszb=a; 赋地址
a=lpszb;也是赋地址,但这样就会有内存泄漏(原来的数组内容没有变量指向它)
如果是赋内容,一般使用strcpy(),
但lpszb是一个指针,没有存储内容的空间.使用前必须先分配
lpszb=new char[n];
ANSI 向宽字符转化没有问题,加一个类型转换就可以了:
LPTSTR str[CONST];
char c;
str[x]=(TCHAR)c;
>char a[10];
>LPTSTR lpszb;
>lpszb=a; 赋地址
>a=lpszb;也是赋地址,但这样就会有内存泄漏(原来的数组内容没有变量指向它)
上面这一句是不合法的,因为数组名不能作为左值。不是内存泄漏的问题。Albert_Einstein(爱因斯坦):
>LPTSTR str[CONST];
这句的申明可能不是你的本意。因为LPTSTR原本就是字符指针了,这样一来就成了一个字符指针数组了。
>char c;
>str[x]=(TCHAR)c
1.a=lpszb
can't convert from tchar* to char[10].
2.LPTSTR str[CONST]
字符串指针数组
类型为char型的数组变量与类型为LPTSTR的变量之间怎么进行互相赋值
如果数组内元素类型为char类型,
则与类型为LPTSTR的变量之间转换为:
1.换地址
LPTSTR lpmyArray;
lpmyArray=数组名即可
2值传递
*lpmyArray=数组[i]其实可直接用数组名作为首地址
如:char a[10];
a+2表示访问第三个元素试试