做项目的时候经常需要把一些操作或者是出错记录写入日志文件。
要想输出便于阅读的时间格式,至少有两种方法:
- time_t now;
time(&now);
char *msg=ctime(&now); - time_t now;
time(&now);
char *msg=asctime(gmtime(&now));
下面这小段代码的功能是把指定的字符串写入文件log,同时注明时间。
log文件里的内容:
Fri Feb 18 12:56:39 2011发生错误A
#include<sys/types.h> #include<sys/stat.h> #include<fcntl.h> #include<unistd.h> #include<stdlib.h> #include<time.h> #include<string.h> void debug_log(char* debug_info){ char* now; time_t t; time(&t); now=asctime(gmtime(&t)); int fd; fd=open("log",O_CREAT|O_WRONLY|O_APPEND,0640); write(fd,now,24); write(fd,"\t",1); write(fd,debug_info,strlen(debug_info)); write(fd,"\n",1); close(fd); } int main(){ debug_log("发生错误A"); return 0; }