상세 컨텐츠

본문 제목

OutputDebugString 파일로 저장하기

청강컴정/MFC

by luckey 2009. 8. 4. 15:41

본문


void CDebugWrite::WriteDate()를 프로그램 실행시 최초 한번만 호출한다.
파일명을 년월일시분초 형태로 만들기 위해서 필요하다.

- 넘기는 데이터가 CString 일 경우
void CDebugWrite::WriteFile(CString _fileName, CString strWriteLine) 을 통해서 파일에 strWriteLine을 작성한다.

- 넘기는 데이터가 char[] 일 경우
void CDebugWrite::WriteFile(CString _fileName, char* strWriteLine) 을 통해서 파일에 strWriteLine을 작성한다.



[[ 참고소스 ]]
StdAfx.h 에 다음 내용을 추가한다.
1.#undef TRACE
2.void TRACE( char *pFormat, ... );

StdAfx.cpp에 다음 내용을 추가한다.
01.#include <AFXMT.H>
02.CCriticalSection g_cs;
03.  
04.void TRACE( char *pFormat, ... )
05.{
06.    g_cs.Lock();
07.    CFile f;
08.    f.Open( "log.txt", CFile::modeCreate | CFile::modeWrite | CFile::modeNoTruncate );
09.    f.SeekToEnd();
10.  
11.    char buff[1024];
12.    va_list arglist;
13.  
14.    va_start( arglist, pFormat );
15.    vsprintf( buff   , pFormat, arglist );
16.    va_end( arglist );
17.  
18.    CTime t = CTime::GetCurrentTime();
19.    CString strTime;
20.  
21.    strTime.Format( "%02d:%02d:%02d ", t.GetHour(), t.GetMinute(), t.GetSecond() );
22.    f.Write ( strTime, strTime.GetLength() );
23.    strcat  ( buff, "\r\n" );
24.    f.Write ( buff, strlen(buff) );
25.    f.Close();
26.  
27.    g_cs.Unlock();
28.}

관련글 더보기

댓글 영역