解决变参数问题:va_list、va_start、vsnprintf、va_end的使用方法和实例

来源:互联网 发布:notes plus 知乎 编辑:程序博客网 时间:2024/05/28 14:57

1、va_list、va_start、vsnprintf、va_end的使用方法和实例

#include <stdarg.h>void test_char(const char* format, ...){    char buf[512];    va_list args;    va_start(args, format);    vsnprintf(buf, sizeof(buf), format, args);    va_end(args);    if (strlen(buf) >= sizeof(buf) - 1) {        printf("buffer may have been truncated \n");    }    printf("%s \n",buf);}int main(){    char test1[5]="is";    char test2[5]="char";    char test3[5]="test";    int testint = 5;    test_char("This %s %s %s %d",test1,test2,test3,testint);}


原创粉丝点击