listbox 中单击打开文件的问题消息响应函数如下
{
CString file_path;
GetDlgItemText(IDC_LIST1,file_path,100);
BOOL Open(file_path, CFile::modeRead|CFile::shareDenyWrite, NULL);
} error C2664: 'int CWnd::GetDlgItemTextW(int,LPTSTR,int) const' : cannot convert parameter 2 from 'CString' to 'LPTSTR'
error C2078: too many initializers出现这两个ERROR 虽然能看懂,但是不知道该怎么样解决。
请教各位大侠
{
CString file_path;
GetDlgItemText(IDC_LIST1,file_path,100);
BOOL Open(file_path, CFile::modeRead|CFile::shareDenyWrite, NULL);
} error C2664: 'int CWnd::GetDlgItemTextW(int,LPTSTR,int) const' : cannot convert parameter 2 from 'CString' to 'LPTSTR'
error C2078: too many initializers出现这两个ERROR 虽然能看懂,但是不知道该怎么样解决。
请教各位大侠
解决方案 »
- 关于windows编程中色彩的疑问
- 多维动态数组间,数值的复制问题
- _RecordsetPtr的定义
- 急问!为什么CEdit框不能循环显示内容?急需您的帮助,谢谢!
- 沒分了﹐不好意思。求好心的高手指點一下﹕怎麼看內存泄漏﹖
- 有哪位能提供TXT文件转RAW图像格式文件的API,或者提供raw图像格式的函数集
- 求求大家了,对话框上有两个按扭,正常时是一种状态,鼠标移上去时是一种状态,要贴图,怎么实现呀,有简单例子吗,能告诉我吗,做不出我
- VC拖动无标题窗口,同时可以响应WM_LBUTTONUP消息?????
- 大家轻松一下,谈谈国产RPG游戏的未来之路,路在何方?????
- 哪位高手帮我看看这段简单的VC线程的程序,可以运行,但。。。
- 请教创建const CMap的方法~
- C语言char类型的字符串有什么办法可以提取一部分的数据吗?
改成GetDlgItemText(IDC_LIST1,(LPTSTR)(LPCTSTR)file_path,100);
file_path.ReleaseBuffer();
CFile file;
BOOL bOpen = file.Open(file_path, CFile::modeRead|CFile::shareDenyWrite, NULL);
{
CString file_path(_T(""));
GetDlgItemText(IDC_LIST1,file_path);
CFile file;
BOOL bRet = file.Open(file_path, CFile::modeRead|CFile::shareDenyWrite, NULL);
file.Write(...);
file.Flush();
file.Close();
}
catch(CFileException* e)
{
e->ReportError();
e->Delete();
}------------------------------------------------------------------
要么这样;
try
{
TCHAR file_path[MAX_PATH] = {0};
GetDlgItemText(IDC_LIST1,file_path, MAX_PATH-1);
CFile file;
BOOL bRet = file.Open(file_path, CFile::modeRead|CFile::shareDenyWrite, NULL);
file.Write(...);
file.Flush();
file.Close();
}
catch(CFileException* e)
{
e->ReportError();
e->Delete();
}
char str[MAX_PATH];
GetDlgItemText(IDC_LIST1,(LPSTR)str,100);
涉及文件名用MAX_PATH宏,少用类对象作参数,有时需要考虑拷贝构造等问题,也许是习惯,或者编程风格,觉得这东西靠不住。
如果非需要CString,可以
CString file_path = (char*)str;