首页 > 其他分享 >经验:变长度参数

经验:变长度参数

时间:2023-10-18 14:33:43浏览次数:36  
标签:va 经验 const format int char 参数 nwlog 长度

#include <stdio.h>

int printf(const char *format, ...);
int fprintf(FILE *stream, const char *format, ...);
int dprintf(int fd, const char *format, ...);
int sprintf(char *str, const char *format, ...);
int snprintf(char *str, size_t size, const char *format, ...);

#include <stdarg.h>

int vprintf(const char *format, va_list ap);
int vfprintf(FILE *stream, const char *format, va_list ap);
int vdprintf(int fd, const char *format, va_list ap);
int vsprintf(char *str, const char *format, va_list ap);
int vsnprintf(char *str, size_t size, const char *format, va_list ap);

 

例子:

__attribute__((format(printf, 3, 4)))
int color_fprintf(FILE *fp, enum color_attr attr, const char *fmt, ...)

{

va_list args;

va_start(args, fmt);

vsnprintf(nwlog + strlen(nwlog), NWLEN - strlen(nwlog) - 1, fmt, args);  //正确

//snprintf(nwlog + strlen(nwlog), NWLEN - strlen(nwlog) - 1, fmt, args); //错误!

va_end(args);
return ret;

}

标签:va,经验,const,format,int,char,参数,nwlog,长度
From: https://www.cnblogs.com/huangguanyuan/p/17772265.html

相关文章

  • MBR20200CT-ASEMI肖特基MBR20200CT参数、规格、尺寸
    编辑:llMBR20200CT-ASEMI肖特基MBR20200CT参数、规格、尺寸型号:MBR20200CT品牌:ASEMI封装:TO-220恢复时间:>50ns正向电流:20A反向耐压:200V芯片个数:2引脚数量:3类型:肖特基、插件肖特基二极管特性:低耐压、高效率浪涌电流:200A正向压降:1.05V封装尺寸:如图工作温度:-65°C~175°C......
  • 与普通探头相比,高压差分探头的参数含义和测试方法有什么不同
    电源测试中大多数电压测试是浮地测试,需要用差分探头测试。很多初级工程师在用多个探头进行电源测量时,刚开机电源产品就“炸机”,甚至示波器也发生损坏。这是因为示波器探头之间是共地的,在同时测量电源原边和副边的时候,如果用一根探头接原边的地,另一根探头接副边的地,相当于把电源......
  • ubuntu日常使用经验记录
    Linux-daily-use本文所有记录都是在ubuntu22.04版本上验证配置,其它版本可能并不适用,请谨慎参考本文可能涉及到的桌面操作都是KDE桌面环境常用Linux命令#查找命令find/-nameYour_want_find_file_name2>/dev/null#添加用户sudoadduseruser_name#添加用户sudo......
  • PMP估算方法:参数估算、类比估算、自下而上估算、三点估算和粗略量级估算的区别
    1、类比估算英文全称:AnalogousEstimatingTechnique;则是一种粗略的估算方法,有时需根据项目复杂性方面的已知差异进行调整。该方法综合利用历史信息和专家判断。常用在项目的早期阶段。相对于其他估算技术,类比估算通常成本较低、耗时较少,但准确性也较低。2、参数估算英文全称:P......
  • linux kernel的启动参数是怎么拿到的-以arm64为例
    linuxkernel拿到启动参数一定是在boot阶段,那就必须从start_kernel找起。asmlinkage__visible__init__no_sanitize_address__noreturn__no_stack_protectorvoidstart_kernel(void){。。。setup_arch(&command_line);setup_arch的参数里有command_lin......
  • 离岗睡岗算法除了设置时间之外还需要设置哪些参数-智慧矿山ai算法系列
    在智慧矿山的发展中,离岗睡岗算法已经成为提高矿山安全性和生产效率的重要工具。离岗睡岗算法是一种通过自动识别矿工离岗或睡岗的行为,及时作出报警并采取措施的智能化系统。除了设置时间外,还有其他参数也需要设置。首先,需要设置离岗或睡岗的行为判定规则。这涉及到传感器的选择和配......
  • [Leetcode] 0058. 最后一个单词的长度
    58.最后一个单词的长度题目描述给你一个字符串s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。单词是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例1:输入:s="HelloWorld"输出:5解释:最后一个单词是“World”,长度为5。......
  • [pytorch] 训练时冻结一部分模型的参数 —— module.requires_grad_(False)
    prologuetitle:[pytorch]训练时冻结一部分模型的参数——module.requires_grad_(False)代码用到一个解码器\(dec\),希望用它预测生成结果\(g\)的countingencode并用以计算损失,以此约束生成器生成合理的结果(能解码出正确的countingencode)但考虑到\(g\)并不准确,如果不冻结\(......
  • 请完善课上的口算题卡代码,实现重复题目的检测、题目数字范围、加减乘除算式的参数化等
    importjava.util.HashSet;importjava.util.Random;importjava.util.Set;publicclassMathQuizGenerator{  publicstaticvoidmain(String[]args){    intnumberOfQuestions=10;//设定生成题目的数量    intminNumber=1;//题目数字的最小值 ......
  • MBR20100CT-ASEMI肖特基MBR20100CT参数、规格、尺寸
    编辑:llMBR20100CT-ASEMI肖特基MBR20100CT参数、规格、尺寸型号:MBR20100CT品牌:ASEMI芯片个数:2封装:TO-220恢复时间:>50ns工作温度:-65°C~175°C浪涌电流:150A正向电流:10A反向耐压:100V正向压降:0.8V引脚数量:3MBR20100CT特性:ASEMI品牌MBR20100CT是采用工艺芯片,该芯片具有良好的稳定性及抗冲......