c/c++语言开发共享C中的函数具有无限的参数?

我想用C语言定义一个函数,它可以接受任意数据类型的无限数量的参数。 例如: printf()scanf()等。

对此有何想法?

    要在C中使用可变数量的参数,您需要包含标题

     #include  

    printf()是一个带有可变数量参数的函数示例。

     int printf(const char *fmt, ...) 

    更多信息在这里

    将函数声明为...最后一个参数。 您需要使用的宏来作为va_list访问参数。

    如果你只是想要“喜欢printf但有一点额外行为”的东西,那么你可以将va_list传递给vprintfvfprintfvsprintf

     #include  #include  #include  #ifdef __GNUC__ __attribute__((format(printf, 1, 2))) #endif void PrintErrorMsg(const char* fmt, ...) { time_t now; char buffer[20]; va_list args; va_start(args, fmt); time(&now); strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", gmtime(&now)); fprintf(stderr, "[%s] ", buffer); vfprintf(stderr, fmt, args); fputc('n', stderr); va_end(args); } 

     void printf(char* format, ...) { } 

    查找Variadic函数和varargs.hstdarg.h (取决于编译器)。

    请参阅标题和相关文档。

      以上就是c/c++开发分享C中的函数具有无限的参数?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/560249.html

      (0)
      上一篇 2021年1月27日
      下一篇 2021年1月27日

      精彩推荐