VS2010的MessageBox不存在从"CString"到"LPCSTR"的适当转换函数该怎么解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS2010的MessageBox不存在从"CString"到"LPCSTR"的适当转换函数该怎么解决?相关的知识,希望对你有一定的参考价值。

CString temp;
temp.Format("连接数据库信息:%s",e.ErrorMessage());
::MessageBoxA(NULL,temp,"提示信息",NULL);
提示错误 “Error:不存在从"CString"到"LPCSTR"的适当转换函数” 该怎么解决?请教各位VC++高手,谢谢了!

参考技术A temp.GetBuffer(0);
temp.ReleaseBuffer()追问

不好意思,不明白,怎么还要获取缓冲区并最后释放呢?

追答

转化为LPCSTR,MessageBox的第二个参数::MessageBoxA(NULL,temp.GetBuffer(0),"提示信息",NULL);temp.ReleaseBuffer()

追问

LPCSTR lp;
CString temp;
temp.Format("连接数据库信息:%s",e.ErrorMessage());
lp=(LPCSTR)temp.GetBuffer(0);
::MessageBoxA(NULL,lp,"提示信息",NULL);
temp.ReleaseBuffer();
这样可以吗?

追答

lp=temp.GetBuffer(0);
//我告诉你把:也可以这样lp=(LPCTSTR)temp;你试试看,其他的就不用

本回答被提问者采纳

在VS环境中进行C#应用程序设计时,为什么那个MessageBox.Show出不来呢?

参考技术A 导入windows.form的命名空间就可以了,不过你建的是窗体的话就会自动导入,你假如用3层开发的话,非窗体是点不出

以上是关于VS2010的MessageBox不存在从"CString"到"LPCSTR"的适当转换函数该怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章

如何修复从 VS2010 升级到 VS2013 的项目中的链接器错误,其中链接器正在寻找不存在的 MFC 库文件?

vs2010自定义项目模板

我的vs2008 不能直接用 messagebox.show

自定义MessageBox按钮

VS2010 配置OGRE,在运行OGRE.sln时报错“无法打开All_Build”说啥不存在,这是为啥啊?

VS2010在微软官方网站哪里可以下载?找不到啊。。