⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 logfile.cpp

📁 vt100终端仿真程序
💻 CPP
字号:
// LogFile.cpp: implementation of the CLogFile class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"

#ifdef CHECK
#include <time.h>
#endif

#include "vt100.h"
#include "LogFile.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

extern int iTrace;

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CLogFile::CLogFile()
{
	InitializeCriticalSection(&logCritical_Section);
}

CLogFile::~CLogFile()
{

}

int CLogFile::WriteLog(int iType, int iDirection, char *pszMsg,int iLen)
{
	FILE *hFile;
	unsigned char szDat[20000];
	int iNum;
	char szTemp[100];

	EnterCriticalSection(&logCritical_Section);
	if(iTrace!=0){
	
//		MessageBox(NULL,_T("write log error222"),_T(""),MB_OK);
	
		hFile=fopen("\\disk\\msp.log","a+");
		if(hFile==NULL){
			MessageBox(NULL,_T("write log error"),_T(""),MB_OK);
			LeaveCriticalSection(&logCritical_Section);
			return 1;
		}

		memset(szDat,0,sizeof(szDat));
		memcpy(szDat,pszMsg,iLen);
		
		if(iType==0){
			fprintf(hFile,"RCV From ");
		}
		else{
			fprintf(hFile,"SND To ");
		}
		
		if(iDirection!=0){
			fprintf(hFile,"ComPort\n");
		}
		else{
			fprintf(hFile,"Host\n");
		}

#ifdef CHECK
		memset(szTemp,0,sizeof(szTemp));
		fprintf(hFile,"Date: %s\n",_strdate(szTemp));
		memset(szTemp,0,sizeof(szTemp));
		fprintf(hFile,"Time: %s\n",_strtime(szTemp));
#endif

		if(iLen==0){
			fprintf(hFile,"%s\n",pszMsg);
		}
		else{
			memset(szTemp,0,sizeof(szTemp));
			for(iNum=0;iNum<iLen;iNum++){
				if(iNum%30==0&&iNum!=0){
					fprintf(hFile,"\t%s\n",szTemp);
					memset(szTemp,0,sizeof(szTemp));
				}

				fprintf(hFile,"%02X ",szDat[iNum]);
				if(szDat[iNum]>=32&&szDat[iNum]<=127)
					szTemp[iNum%30]=szDat[iNum];
				else
					szTemp[iNum%30]='.';
			}
			if(szTemp[0]!=0)
				fprintf(hFile,"\t%s",szTemp);

			fprintf(hFile,"\n\n");
		}
		fclose(hFile);

//		MessageBox(NULL,_T("write log ok"),_T(""),MB_OK);

	}

	LeaveCriticalSection(&logCritical_Section);

	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -