我正在尝试在加载新文档后直接执行删除文件操作。这可能吗?我试过了:
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;
}
但是这给了我一个调试断言错误。
编辑:
经过一番挖掘之后,我发现调试断言错误正在显示,因为我在加载视图之前调用了视图。但是,我可以在哪里放置这些代码,以便在加载新文档和视图后直接执行它?
答案 0 :(得分:1)
如果您确实需要该视图,则可以使用CView::OnInitialUpdate()
。
我不确定你要做什么,但我会怀疑你是否真的需要这个观点。你不能这样做:
CString title = GetTitle();
假设CEmergenceDoc
派生自CDocument
。或者您是否尝试从当前显示的视图中获取另一个文档的文档标题?