标签:char [] const 方法 stat fopen std fprintf printf
以下是使用C11特性打印日志的方法
#include <stdio.h> #include <time.h> static const int MAX_FILE_NAME_LEN = 512; // 文件名长度最大值 int main(int argc, char * argv[]) { // 获取当前时间 time_t seconds_number = time(NULL); tm local_time; localtime_s(&local_time, &seconds_number); // 当前日期 char date[11]; if (0 == strftime(date, sizeof(date), "%F", &local_time)) { printf_s("File:%s Line:%ld 获取日期失败\n", __FILE__, __LINE__); return -1; } // 当前日期时间 char date_time[20]; if (0 == strftime(date_time, sizeof(date_time), "%F %T", &local_time)) { printf_s("File:%s Line:%ld 获取日期时间失败\n", __FILE__, __LINE__); return -1; } // 获取日志文件名 char file_name[MAX_FILE_NAME_LEN]; // Expression:("Buffer is too small", 0) sprintf_s(file_name, sizeof(file_name), "Common_%s.txt", date); // 打开文件 FILE * fd; if (fopen_s(&fd, file_name, "a") != 0) { printf_s("File:%s Line:%ld 打开文件%s失败\n", __FILE__, __LINE__, file_name); return -1; } // 打印日志 fprintf_s(fd, "%s\n", date_time); // 关闭文件 fclose(fd); return 0; }
标签:char [] const 方法 stat fopen std fprintf printf
原文地址:http://www.cnblogs.com/xfjiangnanke/p/6815482.html