MSVC在窗口程序 中创建 控制台

	//1. 首先调用AllocConsole创建一个控制台窗口
	AllocConsole();
	
	//2. 但此时调用cout或者printf都不能正常输出文字到窗口(包括输入流cin和scanf), 所以需要如下重定向输入输出流:
	FILE* stream;
	freopen_s(&stream, "CON", "r", stdin);//重定向输入流
	freopen_s(&stream, "CON", "w", stdout);//重定向输入流

#pragma region 选用
	//3. 如果我们需要用到控制台窗口句柄,可以调用FindWindow取得:
        const LPCSTR CONSOLE_TITLE = "MyConsole";
	HWND _consoleHwnd;
	SetConsoleTitleA("MyConsole");//设置窗口名
	for (int i = 0; i < 100; i++)
	{
		_consoleHwnd = FindWindowA(NULL, CONSOLE_TITLE);
		if (_consoleHwnd)
			break;
		Sleep(100);
	}

	//4. 然后还需要输出流句柄:
	HANDLE _handleOutput;
	_handleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
#pragma endregion
	
	//5. 完成以上工作后,就能够创建一个控制台窗口,并能够使用cout标准输出流输出文字到其上
	cout << "Hello World!" << endl;
	
	//6.在不需要的时候请调用FreeConsole释放控制台窗口:
	FreeConsole();
	

引用 : 让Win32窗口程序拥有控制台窗口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值