C 语言日志打印----对齐文件名 和行号

本文介绍了如何在C语言中对日志的文件名和行号进行对齐打印,以提高日志的可读性。关键点包括使用特定函数从文件路径中获取文件名,并注意处理NULL指针。通过printf函数的对齐控制,如指定宽度和左对齐标志,可以实现数字和字符串的对齐输出。
摘要由CSDN通过智能技术生成

打印日志时如果相关域对齐,非常有利于阅读。本文主要对文件名和行号__FILENAME__  __LINE__ 的对齐做个演示。

关键点

  • 从文件路径名里找出最后的文件名,用到的函数 
    char *name = strrchr(filename, '/');

        注意返回的指针是否为NULL,另外取文件名从name+1开始,跳过路径符 /

  • 注意printf的对齐,%d 和 %s都可以对齐,添加数字代表占用的长度,-号表示左对齐,右边不空格。

       例如:

           printf("%5d\n",1000);//默认右对齐,左边补空格

           printf("%-5d\n",1000);//左对齐,右边补空格

示例代码

#include <stdio.h>
#include <string.h>

//
void FormatLog(char* result, const char *module, const char *filename, int lineNum){
    char *name = strrchr(filename, '\\');
    if(name){
        sprintf(result, "%s %20s:%-5d\t", module, name + 1, lineNum);   // align
    }else{
        sprintf(result, "%s %20s:%-5d\t", module, filename, lineNum);   // align
    }
}

int ma
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值