zoukankan      html  css  js  c++  java
  • 格式化的打印输出

    #include<stdio.h>
    #include<stdarg.h>

    #define LOG_NONE          (-1)
    #define LOG_ERROR          0
    #define LOG_WARNING        1
    #define LOG_INFO           2
    #define LOG_DEBUG          3

    void sky_log( const char *name, int i_level, const char *fmt, ... )
    {
        char *s_level;
        switch( i_level )
        {
            case LOG_ERROR:
                s_level = "error";
                break;
            case LOG_WARNING:
                s_level = "warning";
                break;
            case LOG_INFO:
                s_level = "info";
                break;
            case LOG_DEBUG:
                s_level = "debug";
                break;
            default:
                s_level = "unknown";
                break;
        }

        //将格式化的内容先输出到缓冲区中
        fprintf(stderr, "%s [%s]: ", name, s_level);

        var_list var;

        va_start(var, fmt);

        vfprintf(stderr,fmt, arg);

        va_end(var);

    }

    int main()

    {

        const char * test = "test";

        sky_log("sky", 0, "hello vfprintf %s", test);

        return 1;

    }


     


    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Vue中的混入对象mixins
    iView组件样式修改
    理解Vue.use
    webpack中的require.context
    Vue对象中的混入对象mixins
    nodejs获取客户端ip地址
    Typescript 实战 --- (3)接口
    Typescript 实战 --- (2)枚举
    进击JavaScript核心 --- (3)面向对象
    在windows中使用 nvm 实现node多版本管理
  • 原文地址:https://www.cnblogs.com/agiletiger/p/4888240.html
Copyright © 2011-2022 走看看