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

📄 ivr_log.c

📁 通讯程序,在aix 或 linux下编译通过的员程序
💻 C
字号:
#include"ivr_rtime.h"#define IVR_LLEN 16	int errlog(char *fmt, ...){	FILE *fp;	va_list ap;	char filename[81];	time_t t;	struct tm tm;	char errstr[101];	t = time((time_t*)0);	localtime_r(&t, &tm);	sprintf(filename, "%s/log/%s.%d", getenv("WORKDIR"),"ivrlog", tm.tm_wday);	if((fp=fopen(filename, "a+"))==NULL){		return -1;	}	fprintf(fp, "TIME:%04d/%02d/%02d-%02d:%02d:%02d  PID:%ld\n", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min , tm.tm_sec, getpid());	va_start(ap, fmt);		if(vfprintf(fp, fmt, ap)<0)		return -2;	va_end(ap);	fprintf(fp, "\n");	fclose(fp);	return (0);}int filelog(char *filename, char *fmt, ...){	FILE *fp;	va_list ap;	time_t t;	struct tm tm;	t = time((time_t*)0);	localtime_r(&t, &tm);	if((fp=fopen(filename, "a+"))==NULL){		return -1;	}	fprintf(fp, "TIME:%04d/%02d/%02d-%02d:%02d:%02d  PID:%ld\n", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min , tm.tm_sec, getpid());	va_start(ap, fmt);		if(vfprintf(fp, fmt, ap)<0)		return -2;	va_end(ap);	fprintf(fp, "\n");	fclose(fp);	return (0);}void writeBinLog(char *filename, unsigned char *buf, int len, char *title){	FILE *fp=NULL;	int i=0,j=0,sublen=0, addlen=0;	unsigned char tmpbuf[101];	char fname[81];	memset(fname, 0x00, sizeof(fname));	sprintf(fname, "%s/log/%s", getenv("WORKDIR"), filename); 	filelog(fname, "%s TranCode[%s] :PackLen[%d]",title, TxnCode, len);	fp = fopen(fname, "a+");	if(fp==NULL)	{		 printf("writeBinLog file[%s] error\n", fname);		 return;	}	for (i=0; i<len; i++) 	{		if(i%IVR_LLEN == 0)		{			if(i!=0)			{				memset(tmpbuf, 0x00, sizeof(tmpbuf));				memcpy(tmpbuf, buf+i-IVR_LLEN, IVR_LLEN);				fprintf(fp, "   ");				for(j=0; j<IVR_LLEN; j++)				{					if(tmpbuf[j] <0x20) tmpbuf[j]='.';					fprintf(fp, "%c", tmpbuf[j]); 				}				fprintf(fp, "\n"); 			}			if(i+IVR_LLEN > len)				sublen = len - i;			else				sublen = IVR_LLEN;			fprintf(fp, "(%04d-%04d) ", i+1, i+sublen);		}		fprintf(fp, "%02X ", buf[i]);	}	/* sublen */ 	if(len%IVR_LLEN !=0)	{		sublen=len-len%IVR_LLEN;		memset(tmpbuf, 0x00, sizeof(tmpbuf));		memcpy(tmpbuf, buf+sublen, len%IVR_LLEN);		fprintf(fp, "   ");		addlen = IVR_LLEN - len%IVR_LLEN;		fprintf(fp, "%*s",addlen*3, " ");		for(j=0; j<(len%IVR_LLEN); j++)		{			if(tmpbuf[j] <0x20) 				tmpbuf[j]='.';			fprintf(fp, "%c", tmpbuf[j]); 		}		fprintf(fp, "\n"); 	}	fprintf(fp, "\n"); 	fclose(fp);	return;}/*****************************//* record memory function    *//*****************************/void memTrace(char *fname){	char filename[81];	char buf[31];	struct mallinfo m;		sprintf(filename, "%s/log/%s", getenv("WORKDIR"), fname);	m = mallinfo();	sprintf(buf, "MemUsed:[%d]", m.uordblks);	filelog(filename, "%s", buf);	return;}

⌨️ 快捷键说明

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