[Visual C++] AllocConsole 함수

OnCreate 등과 같은 함수에 아래의 코드를 넣어서 출력 콘솔을 띄운다.

if (::AllocConsole() == TRUE) {
	FILE* nfp[3];
	freopen_s(nfp+0, "CONOUT$", "rb", stdin);
	freopen_s(nfp + 1,"CONOUT$", "wb", stdout);
	freopen_s(nfp + 2,"CONOUT$", "wb", stderr);
	std::ios::sync_with_stdio();
}

OnDestroy 같은 소멸 함수에

FreeConsole();

로 해제해 준다.

간혹 스레드나 다른 이유에 의해 std::cout 이 먹히지 않는 경우가 있는데, 이럴때는 printfputs로 하는수 밖에 없다.