void CXXX::ReadOutPutInfo() { //得到当前工程所在的目录与log.txt的目录 CString strLogPathname = m_strPrjPathname; char dirver[_MAX_DRIVE], path[_MAX_PATH], filename[_MAX_FNAME], ext[_MAX_EXT]; _splitpath(strLogPathname.GetBuffer(1024), dirver, path, filename, ext); strLogPathname.ReleaseBuffer(); strLogPathname = dirver; //得到 strLogPathname += path; strLogPathname = strLogPathname + filename + ".txt";
((CMainFrame*)AfxGetMainWnd())->m_wndOutput.m_wndLog.SetRedraw(FALSE); FILE* pFile = fopen(strLogPathname,"rb"); if(pFile) { CString str, strFront, strBack; char buffer[1024]; while(fgets(buffer, sizeof(buffer), pFile)) { str = buffer; str.TrimRight("/r/n"); str.TrimRight(5); if (!str.IsEmpty()) { int pos = str.Find(':'); //找到:所在位置 if (pos != -1) { strFront = str.Left(pos); //得到:前的所有字符 strBack = str.Right(str.GetLength() - pos - 1); //得到:后的所有字符且不包括: if (strFront == "提示信息") { Add_And_Show_Log(strBack, TIP_INFO,FALSE); } else if (strFront == "警告信息") { Add_And_Show_Log(strBack, WARN_INFO,FALSE); } else if (strFront == "错误信息") { Add_And_Show_Log(strBack, ERROR_INFO,FALSE); } else if (strFront == "调试信息") { // Add_Log(strBack, DEBUG_INFO); strBack.Empty( ); } } } } fclose(pFile); } // Update_Log();
((CMainFrame*)AfxGetMainWnd())->m_wndOutput.m_wndLog.SetRedraw(TRUE); ((CMainFrame*)AfxGetMainWnd())->m_wndOutput.m_wndLog.Invalidate(); }