码迷,mamicode.com
首页 > 其他好文 > 详细

用C11打印日志

时间:2017-05-06 10:24:15      阅读:114      评论:0      收藏:0      [点我收藏+]

标签: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;
}

 

用C11打印日志

标签:char   []   const   方法   stat   fopen   std   fprintf   printf   

原文地址:http://www.cnblogs.com/xfjiangnanke/p/6815482.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!