方法一:

#include <stdio.h>
#include <stdarg.h>
void my_trace(const char *cmd, ...)
{
printf("%s %s ", __DATE__, __TIME__);
va_list args; //定义一个va_list类型的变量,用来储存单个参数
va_start(args,cmd); //使args指向可变参数的第一个参数
vprintf(cmd,args); //必须用vprintf等带V的
va_end(args); //结束可变参数的获取
}

方法二:

#define DBG_PRINT (printf("%s:%u %s:%s:\t", __FILE__, __LINE__, __DATE__, __TIME__), printf)

原文:https://blog.csdn.net/coder_weisong/article/details/10285291

转载于:https://www.cnblogs.com/Ph-one/p/10418871.html

变参标准函数的重新封装,如printf相关推荐

  1. 变参函数相关介绍和封装

    实现可变参数函数的二次封装,如printf.viPrintf等 问题描述:visa接口viPrintf.viScanf.viQueryf等具有可变参数的封装,每条通信会发送多读取指令,现需要对发送与接 ...

  2. Java和C++在细节上的差异(转)

    Java的基本程序结构.关键字.操作符都和C/C++非常相似,以下为主要的几点区别: 一.基本程序设计结构: Java的基本程序结构.关键字.操作符都和C/C++非常相似,以下为主要的几点区别: 1. ...

  3. ① ESP8266 开发学习笔记_By_GYC 【更新 ets_printf 函数 使ESP_IDF 能够支持浮点数打印】

    ① ESP8266 开发学习笔记_By_GYC [更新 ets_printf 函数 使ESP_IDF 能够支持浮点数打印] 在我们日常的开发过程中,经常使用到的一个功能就是串口打印功能.在ESP826 ...

  4. Java核心技术一 上读后感

    Java核心技术一 上 第一章 Java程序设计概念 1.1Java程序设计平台 设计平台包含广泛,有很多数据库可以用来被调用,更体现在是一种跨平台的语言,提供环境和应用的数据库 1.2 Java白皮 ...

  5. 一些宏的应用,包括NSLog

    创建一个UIViewController,免得类名与资源名写错 #define CREATCONTROLLER(ClassName)    [[ClassName alloc] initWithNib ...

  6. python中可变参数args_python 可变参数 *args, **kwds

    关键字可变参数-字典 #!/usr/bin/env python# -*- coding: UTF-8 -*-def dictVarArgs(arg1, arg2='defaultB', **theR ...

  7. ## __VA_ARGS__ ... 宏和可变参数

    在GNU C中,宏可以接受可变数目的参数,就象函数一样,例如: 1 2 #define pr_debug(fmt,arg...) \ printk(KERN_DEBUG fmt, ##arg) 用可变 ...

  8. 【GCC】gcc警告选项汇总--编辑中|gcc编译选项

    目录 前言 请求或取消警告选项 GCC编译选项 参考原文:https://blog.csdn.net/qq_17308321/article/details/79979514 前言 警告:不是错误的, ...

  9. gcc警告选项汇总 转

    ---------------- 原文链接:https://blog.csdn.net/qq_17308321/article/details/79979514 参考资料:https://gcc.gn ...

最新文章

  1. Ubuntu 系统输入法设置
  2. .编写一个函数实现n^k,使用递归实现
  3. PHP的var_dump(‘1‘==‘1e0‘)的结果为true
  4. 2021,我在枯燥乏味中寻找坚持下去的理由
  5. POI(java 操作excel,word等)编程
  6. innodb事务锁的一些常见数据结构
  7. Spring扩展之BeanPostProcessor接口
  8. 苹果系统模拟器_全球首款 iOS 模拟器来袭:免费得一台苹果手机!
  9. python多线程爬取音标
  10. 公云(3322)动态域名更新API
  11. Flask+SQLAlchemy+graphene+docker示例
  12. 数组基础与字符串(尚学堂视频学习总结_004)
  13. 永恒python+6_永恒中心 – Eternal Center
  14. 超体分享 | 迭代思维:你感觉原地踏步,只是因为你想一步到位
  15. 判断计算机硬件和网络故障,计算机硬件故障的识别与处理
  16. 总结用过的几个视频同步分离电路--LM1881
  17. CAD文件转换为SVG文件
  18. 交换机vlan配置实训心得_交换机基本配置及VLAN配置实验报告
  19. 我辞职了!“没有Python编程经验的我,连简历都不敢投”
  20. 欧姆龙突破传统工艺限制,实现成倍的性能优化

热门文章

  1. Docker从入门到实践
  2. python与mysql数据库连接中常见错误
  3. Redis的安装部署
  4. 创建 OVS 外部网络 ext_net - 每天5分钟玩转 OpenStack(144)
  5. Linux学习笔记:Linux分区
  6. jQuery美化select下拉框
  7. ajax: PopupControlExtender使用
  8. Parallel学习
  9. [CSS3]环形进度条
  10. 被问概率达99%的面试问题