我试图在加载新文档后直接执行删除文件操作。这可能吗?我试着:
BOOL CEmergenceDoc::OnNewDocument()
{
if (!CRichEditDoc::OnNewDocument())
return FALSE;
CString title = CEmergenceView::GetView()->GetDoc()->GetTitle();
CStringA sB(title);
const char* pszC = sB;
char* pszD = const_cast<char*>(pszC);
if(std::ifstream(pszD) ) {
CEmergenceDoc::isNewFile = false;
DeleteFile(title);
}
return TRUE;
}
但是这给了我一个调试断言错误。
编辑:经过更深入的研究,我发现正在显示调试断言错误,因为我在加载视图之前调用了视图。但是,我可以将这些代码放在哪里,以便它在加载新文档和视图后直接执行?
如果你真的需要这个视图,那么你可以使用CView::OnInitialUpdate()
。
我不太确定你想做什么,但我想问你是否真的需要这个视图。你就不能这样做吗:
CString title = GetTitle();
假设CEmergenceDoc
来源于CDocument
。或者您正在尝试从当前显示的视图中获取另一个文档的文档标题?