- 论坛徽章:
- 0
|
int main()
{
int xx=1000;
errlog(0,__FILE__,__LINE__,"测试成功![%d]ok",xx);
errlog(0,File,Line,"测试成功![%d]",xx);
return 0;
}
/*目前主要是打印报错信息*/
int
errlog(level, file,line, va_alist)
int level;
char *file;
long line;
va_dcl
{
int nFileID;
time_t lTime;
char sTime[100];
char logname[20];
char *fmt;
FILE *fp;
va_list args;
struct tm *sBuf;
memset(logname,0,sizeof(logname));
memset(sTime,0x00,sizeof(sTime));
/*获得当前系统时间*/
time(&lTime);
sBuf=localtime(&lTime);
sprintf(logname,"%s/tmp/jxc/file/test.log",getenv("HOME"));
if (( fp = fopen(logname,"a")) != NULL)
{
sprintf(sTime,"%4d-%02d-%02d %02d:%02d:%02d|",
sBuf->tm_year+1900, sBuf->tm_mon+1, sBuf->tm_mday,
sBuf->tm_hour, sBuf->tm_min, sBuf->tm_sec);
nFileID=fileno(fp);
lockf( nFileID,F_LOCK,01);
fprintf(fp,"%s",sTime);
lockf( nFileID,F_ULOCK,01);
lockf( nFileID,F_LOCK,01);
fprintf(fp,"%s|%d|",file,line);
lockf(nFileID,F_ULOCK,01);
va_start(args);
fmt = va_arg(args, char *);
vfprintf(fp,fmt,args);
lockf( nFileID,F_LOCK,01);
fprintf(fp,"|[结束]\n ");
lockf(nFileID,F_ULOCK,01);
fclose(fp);
}
else
{
va_start(args);
fmt=va_arg(args,char *);
vfprintf(stderr,fmt,args);
va_end(args);
}
return 0;
}
编译后,运行,显示段错误请问是什么问题?谢谢! |
|