Linux可变参数打印日志(二)
#include<stdio.h>
#include<stdlib.h>
#include<stdarg.h>
#include<string.h> #define my_printf(fmt,...) debug_printf(__FILE__,__FUNCTION__,__LINE__,fmt,##__VA_ARGS__)
const char *logPath = "./log.txt"; void debug_printf(const char *file,const char *fun,const int line,const char *fmt, ...)
{
va_list arg_ptr;
va_list arg_tmp;
va_start(arg_ptr,fmt);
va_copy(arg_tmp,arg_ptr); printf("[%s %s %d] ",file,fun,line);
vprintf(fmt,arg_ptr); FILE *pf = NULL;
pf = fopen(logPath,"a");
if(NULL != pf)
{
fprintf(pf,"[%s %s %d] ",file,fun,line);
vfprintf(pf,fmt,arg_tmp);
fclose(pf);
pf = NULL;
}
va_end(arg_ptr);
} int main()
{
int i = ;
my_printf("this is my %d test",i);
return ;
}
运行结果:

Linux可变参数打印日志(二)的更多相关文章
- _vsnprintf在可变参数打印中的用法
_vsnprintf,C语言库函数之一,属于可变参数.用于向字符串中打印数据.数据格式用户自定义. 函数简介 编辑 头文件: #include <stdarg.h> 函数声明: int _ ...
- 利用可变参数打印log2
#pragma once #include <string> #include "StdAfx.h" #include <Windows.h> using ...
- 利用可变参数打印log
// ConsoleApplication1.cpp: 定义控制台应用程序的入口点. // #pragma once #include <string> #include <Wind ...
- Linux 打印可变参数日志
实现了传输进去的字符串所在的文档,函数和行数显示功能. 实现了将传入的可变参数打印到日志功能. #include<stdio.h> #include<stdarg.h> #in ...
- C++.可变参数_ZC测试
ZC:环境: Win7 x64(旗舰版),Microsoft Visual Studio 2010(版本 10.0.30319.1 RTMRel, Microsoft .NET Framework(版 ...
- 五分钟学Java:可变参数究竟是怎么一回事?
在逛 programcreek 的时候,我发现了一些专注基础但不容忽视的主题.比如说:Java 的可变参数究竟是怎么一回事?像这类灵魂拷问的主题,非常值得深入地研究一下. 我以前很不重视基础,觉得不就 ...
- java基础40 可变参数、自动装箱和自动拆箱
一.可变参数 可变参数是jdk1.5新特性 1.1.可变参数的格式 数据类型...变量名 // 数据类型...变量名public static void sum(int...arr){ } 1.2.可 ...
- logback--日志在windows上可以打印,在linux上不能打印的问题
解决问题方法: 本人遇到的问题,属于jar包冲突问题.本人加入的jar包如下: slf4j-api-1.7.5.jar slf4j-log4j12-1.7.5.jar logback-core-1.0 ...
- 一只简单的网络爬虫(基于linux C/C++)————读取命令行参数及日志宏设计
linux上面的程序刚开始启动的时候一般会从命令行获取某些参数,比如以守护进程运行啊什么的,典型的例子就是linux下的man,如下图所示 实现该功能可以使用getopt函数实现,该函数在头文件uni ...
随机推荐
- php操作 cookie
1,设置cookie <?php setcookie('key'); setcookie('key1','value1'); setcookie(***); setcookie('key4', ...
- Windows地址栏的妙用
主角: 它就是windows自带的一个小工具->地址栏,可以通过在任务栏右键选择工具栏-地址栏添加使用. 妙用: 一.打开文件 使用方法:D:\Temp(文件路径) 小提示:快速进入回收站:Re ...
- zabbix监控项截图整理
general监控项
- Win7自带的系统备份还原功能如何去使用?
很多用户都会反映Win7系统使用过程中会出现系统或应用程序方面的小故障,针对这些小问题,再选择进行电脑系统的重装就有些过于麻烦了. 其实Win7系统内带有系统备份和还原的功能,可以在电脑系统出现小问题 ...
- Phoenix中的timestamp字段查询以及timestamp的比较查询
1 查询语法 SELECT TO_CHAR(createtime, 'yyyy-MM-dd HH:mm:ss') FROM USER 2 需要比较timestamp的语法查询 select * fro ...
- python网络编程:TCP通讯模板、粘包及解决方案、自定义报头
一.TCP通讯模板 二.远程CMD程序 三.解决粘包问题 四.解决粘包问题2 一.TCP通讯模板 TCP客户端 import socket c = socket.socket() # 连接服务器 c. ...
- nacos 1.1.x 集群部署笔记
Nacos 是什么? https://nacos.io/zh-cn/docs/what-is-nacos.html 服务(Service)是 Nacos 世界的一等公民.Nacos 支持几乎所有主流类 ...
- javascript基本语法点
1. getElementById例:<input type="text" id="user" />则getElementById('user'). ...
- Host服务
这也是看网上的例子自己跟着配置做的一个小demo,这里记录一下. 一.创建一个空的控制台应用程序 二.安装所需dll 1.Quartz Install-Package Quartz -Version ...
- MHA原理
MHA工作原理 主库挂了,但是主库的binlog都被全部从库接收,此时会选中应用binlog最全的一台从库作为新的主库,其他从主只需要重新指定一下主库即可(因为此时,所有从库都是一致的,所以只需要重新 ...