char * get_time_buffer(void)
{
static char buffer[512] = {0x00};
memset(buffer,0,sizeof(buffer));
CString str; //获取系统时间
CTime tm;
tm=CTime::GetCurrentTime();
str=tm.Format("%Y年%m月%d日 %X: ");
sprintf_s(buffer,"%s",str.GetBuffer(),sizeof(buffer));
return buffer;
}
void DebugFile(UCHAR * msg, UINT len)
{
UCHAR TempBuffer[1024] = {0x00};
char timebuffer[128] = {0x00};
FILE *fp;
fp = fopen("./Debug.log","ab");
if(fp == NULL)
return ;
strcpy_s(timebuffer,get_time_buffer());
for(size_t temp = 0; temp < strlen(timebuffer); temp++)
{
fputc(timebuffer[temp],fp);
}
for(int i = 0; i < len; i++)
{
sprintf((char *)TempBuffer+strlen((char *)TempBuffer), "%02x ",msg[i]);
}
sprintf((char *)TempBuffer+strlen((char *)TempBuffer), "%s","\r\n");
fwrite(TempBuffer,strlen((char *)TempBuffer),1,fp);
fclose(fp);
}
{
static char buffer[512] = {0x00};
memset(buffer,0,sizeof(buffer));
CString str; //获取系统时间
CTime tm;
tm=CTime::GetCurrentTime();
str=tm.Format("%Y年%m月%d日 %X: ");
sprintf_s(buffer,"%s",str.GetBuffer(),sizeof(buffer));
return buffer;
}
void DebugFile(UCHAR * msg, UINT len)
{
UCHAR TempBuffer[1024] = {0x00};
char timebuffer[128] = {0x00};
FILE *fp;
fp = fopen("./Debug.log","ab");
if(fp == NULL)
return ;
strcpy_s(timebuffer,get_time_buffer());
for(size_t temp = 0; temp < strlen(timebuffer); temp++)
{
fputc(timebuffer[temp],fp);
}
for(int i = 0; i < len; i++)
{
sprintf((char *)TempBuffer+strlen((char *)TempBuffer), "%02x ",msg[i]);
}
sprintf((char *)TempBuffer+strlen((char *)TempBuffer), "%s","\r\n");
fwrite(TempBuffer,strlen((char *)TempBuffer),1,fp);
fclose(fp);
}
本文介绍了一个使用C语言实现的时间记录函数get_time_buffer()和一个用于将调试信息写入文件的函数DebugFile()。get_time_buffer()函数用于获取当前时间并格式化为字符串,DebugFile()函数则接收消息和长度参数,将其与时间戳一起追加到指定的日志文件中。
997

被折叠的 条评论
为什么被折叠?



