void GetAscLogHead(char logTime[])
{
//Fri Dec 9 11:58:31 am 2011
//9:12:2011 11:58:31:000
char pchAmPm[3];
int nDate, nYear;
int nHour, nMin, nSec;
char TimeStr[50];
char* WeekDay[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri","Sat" };
char * Month[] = { "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec" };
time_t tt = time(NULL);
struct tm *stm = localtime(&tt);
nHour = stm->tm_hour;
nMin = stm->tm_min;
nSec = stm->tm_sec;
nYear = stm->tm_year+1900;
nDate = stm->tm_yday;
strcpy(pchAmPm, "am");
if (nHour > 12)
{
nHour = nHour - 12;
strcpy(pchAmPm, "pm");
}
//date Fri Dec 9 11:58:31 am 2011
sprintf(TimeStr, "%s %s %d %d:%d:%d %s %d", WeekDay[stm->tm_wday], Month[stm->tm_mon], nDate, nHour, nMin, nSec, pchAmPm, nYear);
sprintf(logTime, "date %s\n"
"base hex timestamps absolute\n"
"internal events logged\n"
"// version 11.0.0\n"
"Begin TriggerBlock %s\n", TimeStr, TimeStr);
}
为了记录ASC文件找了许多函数都无法实现时间戳的功能,于是自己写了一个,可以指直接录CANoe ASC格式的报文。