我是在写一个记录类.本来是没有什么问题的,每一句都加上一个__FUNCTION__就可以了,现在我不知道有没有哪位兄弟可以直接用宏代替啊??还有不定变量怎么样调用啊.
就像
int b(char const *fmt,...)
int a(char const *fmt,...)
{
在这个函数中我怎么样才能将这里的参数传给函数b.我直接写了个FMT,结果后面的东西都没有调用过去?哪位帮帮我?
}

解决方案 »

  1.   

    __FUNCTION__假如你是在main()函数里面,他就是main
    假如在类 myclass:method1()里面,他的名字就是myclass:method1
    这个类是为了记录到底在哪边出错搞的,服务器(还有LINXU)应该经常用的。
    WIN虽然系统提供了LOG,但是使用起来我觉得真不习惯。
    不过这个宏并不是所有的编译器都有的。还有这样写好像就不行
    #define func(a,...)  funcb(__FILE__,a,...)
    反正我编译没通过。
      

  2.   

    void log(LPCTSTR fmtstr, ... )
    { TCHAR tstr[10240];
    va_list args;
    va_start( args, fmtstr );
    int nBuf = StringCchVPrintf( tstr,sizeof(tstr)/sizeof(tstr[0]), fmtstr, args );
    va_end( args );
    OutputDebugString(tstr);}
      

  3.   

    楼上那位大哥,多谢了,我的代码里面就是这么写的,我现在不想每句话中都加上一句__FUNCTION__有没有这样的宏可用啊?
    我的原代码大概是这样的
    int vfpf(FILE *fp=stderr,const char *fmt,...)
    {
       va_list args;
    va_start(args,fmt);
    vfprintf(fp,args);
    va_end(args);
    }还有这种不定参数能不能在函数中传递
    就是我想把A函数的不定参数传递到B函数里面去啊?