永发信息网

C++ 编译时提示:不能将参数 1 从“char [6]”转换为“LPCTSTR”

答案:2  悬赏:70  手机版
解决时间 2022-01-01 00:13
CString METext;
char Count[6];
int a,b;
m_MultiEdit.GetWindowTextW(METext);
a=METext.GetLength();
b=m_MultiEdit.GetLineCount();
a-=(b-1);
itoa(a,Count,10);
m_CharEdit.SetWindowTextW(Count);
itoa(b,Count,10);
m_LineEdit.SetWindowTextW(Count);
最佳答案
setWindowTextW() 后面这个W代表的是宽字节类型 即WCHAR类型 也就是说
setWindowTextW()中的参数是一个WCHAR类型的指针 那就不能将 CHAR 类型转换为WCHAR
类型了 编译器就报错了
setWindowTextA()这个中的指针是一个CHAR类型的指针
可将那个W删除程序就OK了
修改如下
CString METext;
char Count[6];
int a,b;
m_MultiEdit.GetWindowText(METext);
a=METext.GetLength();
b=m_MultiEdit.GetLineCount();
a-=(b-1);
itoa(a,Count,10);
m_CharEdit.SetWindowText(Count);
itoa(b,Count,10);
m_LineEdit.SetWindowText(Count);

一般在工程中都是使用SetWindowText 而不是直接写SetWindowTextA 或者SetWindowTextW
编译器会自动根据UNICODE _UNICOUDE 自动转换成相应的CHAR 或者 WCHAR
CHAR WCHAR 一般都写为TCHAR
如果你的工程就是设置为多字节的工程,那也可以直接使用CHAR
VC++6.0的工程默认是多字节的工程
SetWindowTextA,SetWindowTextW,前者是多字节,后者是unicode版本
全部回答
在项目属性里面找到项目默认值下面的字符集, 将其换为:使用多字节字符集就可以了,运行成功。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
AMD 羿龙 9550(四核) AMD Athlon64 X2 600
In recent months, behind closed doors the
宝库网上面的古玩可靠吗?
梦见割谷子
谁给我介绍一下efast是干什么用的,越详细越
lol双倍金币卡怎么使用?
十吨地磅如何改装成二十吨
下雨了的英文怎么说?
送女朋友stat ch贵不贵?我才高中。
阅读下面的材料,按要求作文。(50分)寒冷的
大君不谷是什么意思
京东金融主要针对什么样人群?
出纳报表怎么做
科乐达导航仪怎么sd卡视频放不出
---- According to my grandma, it is a good
推荐资讯
乌鲁木齐市天山区安全生产监督管理局地址在哪
一个物体做匀速直线运动,它在第8s内的速度是
探险家什么皮肤有特效
五年级好书推荐卡怎么写?
今天驻马店遂平县购置税营业厅上班吗
我男友的前任一直在缠着他不放,还说让他不要
QQ飞车的抽奖券怎么用?
碧空如洗是什么意思
单选题下列文学常识表述有误的一项是A.唐代诗
Will there ever be another Einstein? This
为什么有些人看别人不说话就对人翻白眼。。。
填空题教室中的投影仪正常工作的电压为______
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?