#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
#include "log.h"
int logfile_fd = -1;
void logcmd(char *fmt,...)
{
va_list ap;//这是一个结构体变量,用于可变参数问题
va_start(ap,fmt);//获取可变参数列表,第一个参数的地址。
vprintf(fmt,ap);//和printf相似,fmt为format(格式),ap为可变参数列表,通过vprintf将其打印出来。
va_end(ap);//清空va_list可变列表。
}
int init_logfile(char *filename)
{
logfile_fd = open(filename,O_RDWR|O_CREAT|O_APPEND,0666);
if(logfile_fd < 0) {
printf("open logfile failed\n");
return -1;
}
return 0;
}
int logfile(char *file,int line,char *msg)
{
char buff[256];
if(logfile_fd < 0) return -1;
snprintf(buff,256,"%s:%d %s\n",file,line,msg);
write(logfile_fd,buff,strlen(buff));
return 0;
}
Linux平台下基于BitTorrent应用层协议的下载软件开发--日志管理模块(log.c)
最新推荐文章于 2022-01-15 20:15:01 发布