C++在获取系统磁盘符号时报错:Debug Assertion Failed! 请大家帮忙看一下,怎么解决
用VC++实现一个文件管理器 在获取系统磁盘符号时 报错:Debug Assertion Failed!的错误提示一直没法通过,在网上找了好多也没有解决,贴出来大家帮忙看看是哪儿出问题了,谢谢。
主要涉及到一个类:FilesAssistantDlg类
我在FilesAssistantDlg.h文件中加入了如下两行代码:
private: void InitPath(void); private: CTreeCtrl m_tcDirectories;
void CFilesAssistantDlg::InitPath(void){ wchar_t *pLogicalDrivers = new wchar_t[MAX_PATH]; pLogicalDrivers[0] = '\0'; int nLen = GetLogicalDriveStrings(MAX_PATH-1,pLogicalDrivers); if ( 0 == nLen) { return ; }int nDriverNameLength = wcslen(L"C:\\")+1;int i =0;TVINSERTSTRUCT tvInsertItem;tvInsertItem.hParent = NULL;tvInsertItem.hInsertAfter = NULL;tvInsertItem.item.mask = TVIF_TEXT;do{ tvInsertItem.item.pszText = pLogicalDrivers +i; m_tcDirectories.InsertItem(&tvInsertItem); i += nDriverNameLength;}while(i<nLen);delete[] pLogicalDrivers;}Debug Assertion Failed! Program:...studio 2010 \Projects=FilesAssistant\Debug\FilesAssistant.exe File:f:\dd\vctools\vc7libs\ship\atlmfc\include\afxcmn.inl Line:263 For information on how your program can cause an assertion failure, see the Visual C ++ documentation on asserts.