並且使用幾個函式,就可以將程式的內容轉換成字元輸出成檔案。
在此,繼承純文字檔案處理的類別來加工使用。
debugFile.h
#ifndef DEBUGFILE_H
#define DEBUGFILE_H
#include "TxtFile.h"
#ifdef _DEBUG
#define DebugCode( code_fragment ) { code_fragment }
#else
#define DebugCode( code_fragment )
#endif
class debugFile
{
TxtStrData m_outData;
public:
void Clear();
void Out2File(CString path);
void Add(CString line);
};#endif
其中這段程式碼是從《軟體建構之道2》的防禦性程式設計中得到的方式
#ifdef _DEBUG
#define DebugCode( code_fragment ) { code_fragment }
#else
#define DebugCode( code_fragment )
#endif
debugFile.cpp
將程式內容記錄、清除
程式內容以字元(字串)的方式記錄成.txt的方式,以具技巧性的條件編譯,使發佈版本沒有這些功能。void debugFile::Clear()
{
DebugCode(
m_outData.clear();
)
}
void debugFile::Add(CString line)
{
DebugCode(
m_outData.push_back(line);
)
}
將記錄的內容輸出成檔案
輸出成檔案,唯一的關鍵,就是存放的路徑(格式預設成最簡單的字元檔)void debugFile::Out2File(CString path)
{
DebugCode(
CTxtFile fTxt;
CFileException fx;
fTxt.Save(path, fx);
fTxt.iTxtData(m_outData);
fTxt.Close();
)
}