iCAx开思网

标题: UG二次开发中的printf函数输出? [打印本页]

作者: miraculous    时间: 2005-2-27 15:04
标题: UG二次开发中的printf函数输出?
#define UF_CALL(X) (report( __FILE__, __LINE__, #X, (X)))
static int report( char *file, int line, char *call, int irc)
{
  if (irc)
  {
     char    messg[133];
     printf("%s, line %d:  %s\n", file, line, call);
     (UF_get_fail_message(irc, messg)) ?
       printf("    returned a %d\n", irc) :
       printf("    returned error %d:  %s\n", irc, messg);
  }
  return(irc);
}
  
如上述程序代码中printf函数的输出应该到哪里可以看到?
另外, UF_CALL(X) (report( __FILE__, __LINE__, #X, (X)))中
  __FILE__, __LINE__, #X, (X)改分别如何理解?
谢谢!
作者: fourwood    时间: 2005-2-27 16:26
UF_CALL(X) 这个宏命令效果是把UG API函数的出错相关信息(出错代码位置、错误类型)输出的UG界面
作者: 深夜摔键盘    时间: 2005-2-27 22:53
------------------spline版提过:
加了下面的语句才会有DOS窗口出来,记得要关闭她哟  
/* allocate console window conout$ */  
        AllocConsole();  
/* reopen stdout on conout$ for fprintf and printf */  
        fp = freopen("conout$", "w", stdout);  
        fprintf( stdout, "%s\n", "Begin of program" );  
-------------------------------------------------------------------------------------
  
__FILE__, __LINE__, #X, (X)
分别是指:出错的文件,出错行,函数名,函数的参数
作者: suiyubing    时间: 2005-2-28 18:27
请问您说的那两句放到程序的什么位置呀,为什么我加了之后运行以后有错误呢?如果我想用UF_UI_xxxx_listing_window()函数能实现吗?怎么实现呀?
作者: 深夜摔键盘    时间: 2005-2-28 18:50
我没用过。应该是加在ufusr/ufsta入口中吧。
  
用uc1601就可以了。
作者: suiyubing    时间: 2005-3-2 17:52
我已经能通过UF_UI_xxxx_listing_window等函数解决这个问题了,谢谢您。




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3