我用CFileDialog类进行打开文件操作,想在打开对话框中选择多个文件,操作如下:
CFileDialog mFileDlg(TRUE, NULL,NULL, OFN_ALLOWMULTISELECT,_T("Text Files (*.txt|*.txt|
All Files (*.*)|*.*||"), AfxGetMainWnd());
我从有的网站上看到,要选择足够多的文件时,要对mFileDlg.m_ofn.lpstrFile重新赋值
mFileDlg.m_ofn.lpstrFile=new TCHAR[2000];
memset(mFileDlg.m_ofn.lpstrFile,0,2000);
mFileDlg.m_ofn.nMaxFile = 2000;
...
delete [] mFileDlg.m_ofn.lpstrFile;
而且他说最后的delete [] mFileDlg.m_ofn.lpstrFile是一定要加上的.可是我在做的时候运行出错了,如果我去掉delete [] mFileDlg.m_ofn.lpstrFile就没有问题了.我想问一下有必要delete吗?
为什么会错呢? 请高手指点!!谢谢!!!
CFileDialog mFileDlg(TRUE, NULL,NULL, OFN_ALLOWMULTISELECT,_T("Text Files (*.txt|*.txt|
All Files (*.*)|*.*||"), AfxGetMainWnd());
我从有的网站上看到,要选择足够多的文件时,要对mFileDlg.m_ofn.lpstrFile重新赋值
mFileDlg.m_ofn.lpstrFile=new TCHAR[2000];
memset(mFileDlg.m_ofn.lpstrFile,0,2000);
mFileDlg.m_ofn.nMaxFile = 2000;
...
delete [] mFileDlg.m_ofn.lpstrFile;
而且他说最后的delete [] mFileDlg.m_ofn.lpstrFile是一定要加上的.可是我在做的时候运行出错了,如果我去掉delete [] mFileDlg.m_ofn.lpstrFile就没有问题了.我想问一下有必要delete吗?
为什么会错呢? 请高手指点!!谢谢!!!
解决方案 »
- edit控件设为只读后 的问题
- NDIS_MINIPORT_CHARACTERISTICS 在VC60为什么编译不了
- 查找字符串时,如何忽略‘\0’?在线
- 单机测试问题
- 套接字传输中接受字符串中有'\0' 怎么处理?急。。。。。。。。。。。。
- 我想做一个浏览器控件
- 请问那为高手知道LPPOINT的结构是怎么定义的啊,怎么把他转化成CPoint类啊,谢谢了
- 如何制作访问数据库的ActiveX控件
- @@@@@@@@Microsoft ListView 6.0 控件如何用ImagmsList 6.0 里的图标??
- 请问各位朋友在哪里有DICOM标准的详细汉语说明?谢谢
- 弹出菜单怎样弹出整个菜单,而不是子菜单?
- [实现共享文件夹]同样的代码,单独在console里正常,放在另一程序里用就报错,郁闷
......
delete [] mFileDlg.m_ofn.lpstrFile; 是不是应该把delete后边那个[]去掉,这样:delete mFileDlg.m_ofn.lpstrFile;
DWORD MAXFILE = 4000
dlg.m_ofn.nMaxFile = MAXFILE;
char* pc = new char[MAXFILE];
dlg.m_ofn.lpstrFile = pc;
dlg.m_ofn.lpstrFile[0] = NULL; int iReturn = dlg.DoModal();
if(iReturn == IDOK)
{
int nCount = 0;
POSITION pos = dlg.GetStartPosition();
while (pos != NULL)
{
dlg.GetNextPathName(pos);
nCount++;
}
CString str;
str.Format("Successfully opened %d files\n", nCount);
AfxMessageBox(str);
}
else if(iReturn == IDCANCEL)
AfxMessageBox("Cancel"); if(CommDlgExtendedError() == FNERR_BUFFERTOOSMALL)
AfxMessageBox("BUFFERTOOSMALL");
delete []pc;
如果需要进一步的信息,您可以参看:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/html/_mfc_cfiledialog.asp以及Q179372等有关信息。