C/C++ 打印日志到文件

本文档详细介绍了如何在C++中使用C/C++编程语言创建一个简单的日志模块,包括初始化、打印日志到文件以及关闭文件的操作。通过LogPrint.cpp示例代码,读者可以了解到如何使用fprintf和va_list进行格式化打印,并附带了编译和运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. C/C++ 打印日志到文件示例代码

// LogPrint.cpp
#include <stdio.h>
#include <unistd.h>
#include <stdarg.h>
#include <string.h>
#include <fcntl.h>
#include <time.h>

#define MAX_LEN 1024
#define LOG_FILE "./Test.log"

FILE *fd_log = nullptr;

int Log_Init()
{
    int ret = -1;
    if( (fd_log = fopen(LOG_FILE, "a+")) == nullptr)
    {
        printf("open file failed!\n");
    }
    else {
        printf("open file successed!\n");
        ret = 0;
    }
    return ret;
}

void Log_End()
{
    fclose(fd_log);
}

// 使用方法同 printf
void Log_Printf(const char *fmt, ...)
{
    static bool print_time = true; //是否要打印时间: 当 debug_mode 为真,且上一次是换行符结尾。
    char message[MAX_LEN];

    // 当前时间.
    time_t timer = time(NULL);
    strftime(message, 24, "\n[%Y-%m-%d %H:%M:%S] ", localtime(&timer));
    va_list args;
    va_start(args, fmt);
    vsnprintf(message +
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值