- 主题:GUI程序增加Console窗口
我用VC编写GUI程序,想创建一个Console窗口输出调试信息,从网上查的方法,函数如下:
void InitConsoleWindow()
{
int nCrt = 0;
FILE* fp;
AllocConsole();
nCrt = _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);
fp = _fdopen(nCrt, "w");
*stdout = *fp;
setvbuf(stdout, NULL, _IONBF, 0);
}
执行这个函数后,调用printf( "str = %s\n ", "debug");
但程序运行后,能建立Console窗口,但是没有任何输出信息。
请教这是哪里出了问题呢?
--
FROM 119.108.9.*
AllocConsole + freopen就行了,没找到以前搞的代码,现搜了一个
https://gist.github.com/kingseva/a918ec66079a9475f19642ec31276a21
--
FROM 114.245.195.*
【 在 STEP8 的大作中提到: 】
: 我用VC编写GUI程序,想创建一个Console窗口输出调试信息,从网上查的方法,函数如下:
: void InitConsoleWindow()
: {
: ...................
我记得好像allocconsole,然后printf就行了?
--
FROM 111.206.145.*
增加一个main函数?这说法有点没理解明白,你调用AllocConsole和freopen就完了,增加main函数是什么鬼?
【 在 STEP8 (CCC) 的大作中提到: 】
: 好用,谢谢
: miui提到的方法也好用,不过要增加一个main函数。谢谢
: 只用AllocConsole不行。
: ...................
--
FROM 118.113.15.*
【 在 TJjerry 的大作中提到: 】
: 增加一个main函数?这说法有点没理解明白,你调用AllocConsole和freopen就完了,增加main函数是什么鬼?
:
用console 程序创建窗口和消息循环,确实也是可用的
不过这样的程序,关闭控制台窗口会退出
--
FROM 111.206.145.*
如果编译GUI程序,需要winmain函数
如果编译Console程序,需要main函数
【 在 TJjerry 的大作中提到: 】
: 增加一个main函数?这说法有点没理解明白,你调用AllocConsole和freopen就完了,增加main函数是什么 ...
--
FROM 39.144.57.*
嗯,AllocConsole的话是在同一个进程里,关闭销毁console窗口确实会导致整个程序的退出
【 在 leslin (我心有约) 的大作中提到: 】
: 用console 程序创建窗口和消息循环,确实也是可用的
: 不过这样的程序,关闭控制台窗口会退出
--
FROM 118.113.15.*
我以为你在说AllocConsole,呵呵。
【 在 STEP8 (CCC) 的大作中提到: 】
: 如果编译GUI程序,需要winmain函数
: 如果编译Console程序,需要main函数
--
FROM 118.113.15.*
post build event 填下面的玩意
editvin /subsystem:console output dir peojectname exe
不好打字,你搜一下
。
【 在 STEP8 的大作中提到: 】
: 我用VC编写GUI程序,想创建一个Console窗口输出调试信息,从网上查的方法,函数如下:
: void InitConsoleWindow()
: {
: ...................
--
FROM 61.148.245.*