我没有Anders的天才!除了执着和热情我一无所有!
  • 废了我2天的一段代码

    2006-02-23

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://duckula.blogbus.com/logs/1966267.html

    #include "ace/Log_Msg.h"
    #include <fstream>
    using namespace std;
    int main(int argc, char *argv[])
    {
     const char *filename = "d:\\output.log";
     ofstream myostream (filename); //, ofstream::out | ofstream::app);
     if (myostream.bad ())
      return 1;
     ACE_LOG_MSG->clr_flags(ACE_Log_Msg::STDERR);
     ACE_LOG_MSG->set_flags(ACE_Log_Msg::OSTREAM);
     ACE_LOG_MSG->msg_ostream (&myostream);
     ACE_DEBUG ((LM_DEBUG,"(%t)first message\n"));

     return 0;
    }

        就是上面这段代码,我在VC2005下运行,结果在D盘只生成了个0字节的output.log。我以为自己写错了,于是到处上网找资料,把别人的代码考过来试还是不行,最后只好老老实实看ACE的程序员手册,结果把手册中的代码考过来还是一样。没办法了,问ACE群里的兄弟,结果都说正常!郁闷了,又遇到一个科学无法解释的问题!后来有个哥们提醒我是不是环境的问题,于是跑到LINUX下用KDevelop一试,果然正常!又用VC6试,还是正常,就是在VC2005下不正常!老大说可能是2005的STL有BUG!不知道到底怎么回事,怀疑是不是因为我用的2005是试用版的缘故!


    收藏到:Del.icio.us




    评论

  • 我也遇到这样的问题,奇怪的室,我把文件的属性改为只读就没有问题了,如果没有只读就出错

    你找到问题的原因不?
  • 晟哥真乃神人也...
  • 我后来让一哥们在VC2005下也试了,没问题!估计是因为我的ACE是用VC6编的缘故!