用C11打印日志
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C11打印日志相关的知识,希望对你有一定的参考价值。
以下是使用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; }
以上是关于用C11打印日志的主要内容,如果未能解决你的问题,请参考以下文章
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情