如何在调试VCL类窗体程序时使用标准输出?

dennis101 2008-06-04 11:45:50
在BCB下开发带有窗体的应用程序,调试时想用printf/cout等输出调试信息到标准输出,不知道BCB环境支不支持这种功能?
...全文
81 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dennis101 2008-06-06
  • 打赏
  • 举报
回复
谢谢!
我把这段代码加了进去,printf使用正常,可以输出到标准输出。
cout比较奇怪,第一次调用它可以正常输出,第二次就不再有反应了。
虽然知道怎么用了,但代码看不懂,汗……
请问这部分是不是属于windows API编程的内容啊?
vick 2008-06-05
  • 打赏
  • 举报
回复
既然可以写到文件,当然可以写到标准输出了,自己写点代码,WriteConsole
geochway 2008-06-05
  • 打赏
  • 举报
回复
做一个控制重定向吧,不过稍嫌麻烦.
重启向代码:
#include <stdio.h>
#include <io.h>

void RedirectStdout()
{ FILE *fp;
int hConHandle;
long lStdHandle;
AllocConsole();
lStdHandle = (long)GetStdHandle(STD_OUTPUT_HANDLE);
hConHandle = _open_osfhandle(lStdHandle, 0x4000);
fp=_fdopen(hConHandle,"w");
setvbuf(fp,NULL,_IONBF,0);
*stdout = *fp;
}

放在程序开始处执行,后面的printf就可以正常输出了,cout不过cout没试过.
day572 2008-06-05
  • 打赏
  • 举报
回复
用控制台好了,调用API函数,例如: hOut = GetStdHandle(STD_OUTPUT_HANDLE); //获取标准输出设备句柄
WriteConsole//写
等等,可以参考文挡,就和DOS一样,UI界面,也可以调试信息,
loveshell 2008-06-05
  • 打赏
  • 举报
回复
我调试都用showmessage
我来看看CB 2008-06-05
  • 打赏
  • 举报
回复
好像不行。
你可以输出到文件中

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧