[Visual C++] AllocConsole 함수

spring·2020년 11월 9일
0

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

#ifdef _DEBUG
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();
}
#endif

OnDestroy 같은 소멸 함수에

#ifdef _DEBUG
   FreeConsole();
#endif

로 해제해 준다.

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

profile
Researcher & Developer @ NAVER Corp | Designer @ HONGIK Univ.

0개의 댓글