📄 cdradm.cpp
字号:
#include "stdafx.h"
#include "share.h"
static struct tm g_rOldTm;
static char g_sSmsCDRFileName[256] = {0x00};
static FILE *g_fpSmsCDR;
FILE *OpenSmsCDRFile(char *flag);
int IsFullPathDir ( char *sName);
int IsDirectroy ( char *sDir );
void WriteSmsCDR(char *s);
extern char g_sProcName[];
extern void ClearMoAndMtCounts();
void WriteSmsCDR(char *s)
{
time_t nTime;
struct tm rCurTm;
if(g_fpSmsCDR == NULL)
{
if((g_fpSmsCDR = OpenSmsCDRFile("a+")) == NULL)
return;
}
time(&nTime);
memcpy(&rCurTm, localtime(&nTime), sizeof(rCurTm));
if(rCurTm.tm_mday != g_rOldTm.tm_mday ||
rCurTm.tm_mon != g_rOldTm.tm_mon ||
rCurTm.tm_year != g_rOldTm.tm_year)
{
ClearMoAndMtCounts();
fclose(g_fpSmsCDR);
if((g_fpSmsCDR = OpenSmsCDRFile("w")) == NULL)
return ;
}
fprintf(g_fpSmsCDR, "%s\n",s);
fflush(g_fpSmsCDR);
return;
}
FILE *OpenSmsCDRFile(char *flag)
{
time_t nTime;
time(&nTime);
memcpy(&g_rOldTm, localtime(&nTime), sizeof(g_rOldTm));
sprintf(g_sSmsCDRFileName, "%s/CDR/%s/%04d/%02d/CDR%04d%02d%02d.log",
getenv("HOME"), g_sProcName, g_rOldTm.tm_year+1900,g_rOldTm.tm_mon+1,
g_rOldTm.tm_year+1900, g_rOldTm.tm_mon+1, g_rOldTm.tm_mday);
if ( IsFullPathDir(g_sSmsCDRFileName) != 0 )
return (FILE *)NULL;
return fopen(g_sSmsCDRFileName, flag);
}
int IsFullPathDir ( char *sName)
{
char *p;
char *q;
char tmpName[256];
int j=0,i=1;
while ( 1 )
{
strcpy(tmpName, sName );
if ( tmpName[0] == '/')
q = &tmpName[1];
else
q = &tmpName[0];
for ( j=0; j<i; j++ )
{
p = (char *)strchr(q,'/');
q = p+1;
}
if ( p!=NULL )
{
*p = '\0';
if ( IsDirectroy ( tmpName ) != 0 )
return -1;
if ( p==NULL )
return 0;
else
i++;
}
else
return 0;
}
}
int IsDirectroy ( char *sDir )
{
struct stat rStat;
if ( stat(sDir, &rStat ) != 0 )
{
/*
* the directory no exist, creat itu
*/
if(mkdir(sDir) != 0 )
return -1;
return 0;
}
if ( !( rStat.st_mode & _S_IFDIR ) )
{
/*
* the directory had exist, but is file,now delete it,
* and then creat a diretory
*/
if ( unlink(sDir) !=0 )
return -1;
if(mkdir(sDir) != 0 )
return -1;
return 0;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -