永发信息网

vc++中 LPCTSTR与 CString的问题

答案:2  悬赏:80  手机版
解决时间 2021-02-07 06:36
如下代码:

void CDibLook3View::OnFileOpen()
{
// TODO: 在此添加命令处理程序代码
LPCTSTR lpszPathName;
CFileDialog dlg(true);
if(dlg.DoModal()==IDOK){
lpszPathName=dlg.GetPathName();
MessageBox(lpszPathName);
}
}

通过MessageBox(lpszPathName)显示出来的一直是乱码,如果MessageBox(dlg.GetPathName())显示的就是正确的路径,这是为什么,CString不是可以转换为LPCTSTR吗。
最佳答案
dlg.GetPathName() 返回的是一个临时对象,这个临时对象在表达式结尾就析构了

出了这个表达式之后,lpszPathName指向的就是已经不存在的对象的一部分
全部回答
cstring 类型转换为LPCTSTR类型时注意前面加上转换标识符 lpszPathName=(LPCTSTR)dlg.GetPathName(); 你试试可以了不。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
自来也是好人还是坏人
淘宝卖家威胁买家怎么办?这么多好评,追加的
新瑞达修配厂地址在什么地方,我要处理点事
帮我起个机电公司的名字
杭州到盘锦高铁在哪个站上车
长沙市亿利化工厂这个地址在什么地方,我要处
下图中,阴影部分为夜半球。读图回答各题。【
唐禹哲上快乐大本营是几年几月几日???
文河水电焊补胎怎么去啊,我要去那办事
谚语和解释要够全面的
大众家电超市在哪里啊,我有事要去这个地方
盘锦市机动车污染防治管理中心怎么去啊,我要
招商银行信用卡积分怎么算的
叶绿体的活性检测怎样对提取出的叶绿体进行活
想知道: 洛阳市 从西关到佃庄镇怎么坐公交
推荐资讯
奥普嘉地址在哪,我要去那里办事
舒美家具城地址有知道的么?有点事想过去
有ios6的系统能用的网易云音乐的版本吗
现在中国还有大家族吗
康堂按摩室在哪里啊,我有事要去这个地方
至善教育(隆康路校区)地址在哪,我要去那里办
仓鼠(布丁)为什么老趴在笼子的一角,也不动
绿都澜湾桂园地址在什么地方,想过去办事
同源广告在哪里啊,我有事要去这个地方
斯巴达克与狮子打斗的场景的作文
你对你未来的工作和生活如何计划怎么写
香龙加油站在哪里啊,我有事要去这个地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?