C语言中的可变参数封装ITeye - 凯时娱乐

C语言中的可变参数封装ITeye

2019-01-09 16:36:14 | 作者: 梦凡 | 标签: 参数,可变,输出 | 浏览: 1529

今日用C写个小程序,调试进程用printf输出下变量(测验程序也就没用log结构);输出多了没有日期也没有换行很丑陋,榜首主意是包装一层,把参数传进来,然后再传递给printf。

 

编码的时分才发现,printf接纳的是可变参数,界说可变参数的函数没问题,但是怎样传递?竟然卡住了......

VS主动生成的main函数是这样的:int _tmain(int argc, _TCHAR* argv[]),看着眼熟试了一下仍是行不通。只好上查找,搜到的成果如下。

 

 

#include "stdio.h"
#include "stdafx.h"
#include stdarg.h 
void log(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); //完毕可变参数的获取
 printf("\n"); //输出换行
}

 

参阅链接:

https://www.cnblogs.com/ThatsMyTiger/p/6924462.html

http://www.cnblogs.com/cpoint/p/3368993.html

https://bbs.csdn.net/topics/90162956

https://www.cnblogs.com/edver/p/8419807.html

https://www.tutorialspoint.com/cprogramming/c_variable_arguments.htm

https://www.cprogramming.com/tutorial/c/lesson17.html

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯时娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章