





















这是一个创建于 655 天前的主题,其中的信息可能已经有所发展或是发生改变。
比如要封装一个打印函数,打印内容在最后,入口时 myprint1 ,后续时 myprint2 ,。。。,参数要如何写?
void myprint1(uint8_t *pdata, size_t len, char *fmt, ...)
{
myprint2(fmt,...); // 这里参数怎么写
}
void mprint2(char *fmt, ...)
{
printf(fmt,...); // 如何调用
}
谢谢
1 smdbh 2024 年 8 月 27 日va_list 感觉只能在最后解析,调用 vprintf 打印,如果多层感觉实现不了 |
2 sadfasdfa 2024 年 8 月 27 日 via iPhone使用宏定义和__VA_ARGS__,90%小白问题都能用浏览器解决 |
5 valord577 2024 年 8 月 27 日https://linux.die.net/man/3/vasprintf 不确定 vasprintf 是不是你想要的函数 ```c } void mprint1(uint8_t *pdata, size_t len, char *fmt, ...) { |
6 laminux29 2024 年 8 月 27 日1.如果函数的参数,或函数的返回值,过于复杂,我个人倾向于,直接把该函数的参数或返回值,定义为数据结构,也就是结构体或类。 2.参数长度不确定,可以直接传参一个容器,比如 array 、list 、map 、set 等等。 |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。