各位大侠怎么调试VC++/MFC程序的?是用AfxMessageBox吗?有没有象DOS/LINUX下printf的那种东东呢?为什么这样写:
char* m_strTmp = "hello world";
AfxMessageBox(m_strTmp);
出错呢?
可以AfxMessageBox("the string is %s",m_strTmp);的使用吗?自己怎么重新定义?

解决方案 »

  1.   

    那你可以用TRACE()宏,在调度时这个宏的输出你可以在output窗口中看到
      

  2.   

    char* m_strTmp = "hello world";
    这句改为
    CString m_strTmp = "hello world";可以AfxMessageBox("the string is %s",m_strTmp);的使用吗?自己怎么重新定义?
    不可以这样用。
    但可以这样。
    CString m_strTmp;
    m_strTmp.format("the string is %s", m_strTmp);
      

  3.   

    可以自己实现
    void ShowMsg(char *msg, ...)
    {
    va_list va;
    char str[256]; va_start(va,msg);
    vsprintf(str,msg,va);
    va_end(va); AfxMessageBox(str);
    }Example: int a; ShowMsg("The value is %d", a);
      

  4.   

    没有那样使用的
    调试时一般都是使用trace宏,跟printf使用差不多
      

  5.   

    除了TRACE()宏,你还可以使用ASSERT,VERIFY,MessageBox,.log文件输出等等。
    就看你的需要了