void CMainFrame::OnFileSaveAsLogfile()
{
CString csFilter;
csFilter.LoadString(IDS_ECENTLOG);
csFilter += _T(" (*.evt)|*.evt||"); CFileDialog dlg(
FALSE, //显示打开文件对话框
_T("evt"), //缺省文件的扩展名
_T("log"), //缺省文件名
//OFN_READONLY| //复选只读复选框
OFN_PATHMUSTEXIST| //路径必须存在
OFN_OVERWRITEPROMPT| //覆盖前提示(保存时)
OFN_FILEMUSTEXIST| //文件必须存在
OFN_EXPLORER, //高级模式
// OFN_ALLOWMULTISELECT, //允许多选
(LPCTSTR)csFilter); //过滤字符串 if(dlg.DoModal()==IDOK)
{
CString csFile;
//取得全路径名
csFile = dlg.GetPathName();
SaveEvent(csFile);
}
}BOOL CMainFrame::SaveEvent(CString csFileName)
{
CFile file;
if(file.Open((LPCTSTR)csFileName, CFile::modeReadWrite|CFile::modeCreate))
{
file.Write(&m_nLogFileVersion, sizeof(long));
long nCount = m_EventList.GetCount();
file.Write(&nCount, sizeof(long));
POSITION pos = m_EventList.GetHeadPosition();
while(pos)
{
EVENTSTRU* pEventStru = (EVENTSTRU*)m_EventList.GetNext(pos);
file.Write(pEventStru, sizeof(EVENTSTRU));
}
file.Close();
return TRUE;
}
return FALSE;
}
小弟用上面代码存一个.evt文件 存好了打不开 不知道为什么 还请大侠指点一二 小弟的环境是 VS2010 win7 64位系统
你应该换一个后缀
可是就是要存成这个文件啊 这么要求的~~~ 原来再vc6下编的用在xp下可以读 现在升到vs2010 win7下就不行了