c - 如何将字符串添加到 va_list 中的 args

标签 c

我的代码是:

va_list args;
va_start(args, format); 
vsyslog(severity, format, args);
va_end(args);

我想在向系统日志服务器发送消息之前添加额外的信息。我的意思是在 vsyslog 之前,额外的信息应该添加在与 vsyslog 一起发送的字符串的开头。我怎样才能做到这一点?或者我应该问这可​​能吗?我希望我能清楚地解释我的问题。

最佳答案

我在代码中使用的解决方案是:

va_list args;                                                                 
va_start(args, format); 
char *new_format = NULL;
asprintf(&new_format, "%s, %s", my_string, format);
vsyslog(severity, new_format, args); 
free(new_format);   
va_end(args);   

关于c - 如何将字符串添加到 va_list 中的 args,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51595178/

相关文章:

c - 如何处理用于两件事的相同符号柠檬解析器

更改套接字 sendto() 中的源 IP

C:需要将二维数组的某些部分写入新的二维数组

c - fgets关于第三个参数

c - 下标值既不是数组也不是指针

c - 创建用于打印星星的递归函数

c - 预处理器常量溢出?

c - Gcc 4.8.2 默认编译和运行可变长度数组

c - 假装指向另一个指针后的自由指针

c - 霍夫曼编码的函数get2min