본문 바로가기

app/C

winapi 환경에서 콘솔 띄우기

MFC에서 콘솔을 열기 위해서 #pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:console") 를 선언하여 콘솔창을 띄운다면


winapi에서는 AllocConsole() 함수를 호출하여 콘솔을 띄웁니다.


AllocConsole() 설명 :  http://msdn.microsoft.com/ko-kr/library/ms681944(v=vs.85).aspx

기능은 한마디로 콘솔창을 불러옵니다. 문제는 창만 띄울뿐 핸들을 정해주지 않기 때문에 아무리 printf()를 써도 먹히지 않습니다. 


그래서 핸들 적용을 위해서 freopen() 함수를 사용합니다.

freopen() 설명 : http://msdn.microsoft.com/ko-kr/library/wk2h68td(v=vs.100)

freopen()함수는 해당 프로세서의 핸들값을 지정하여 여는 함수입니다. 결론적으로 아래의 함수를 적용하면 됩니다.


  AllocConsole() ;

  freopen("CONOUT$","wb",stdout);  //출력의 핸들에 따라 옵션이 달라집니다. 옵션은 아래 출처 확인.


이후 원하는 곳에 print()를 하면 됩니다.



출처/참조 : http://comsci.liu.edu/~murali/win32gui/Win32Apps.htm




'app > C' 카테고리의 다른 글

c to machin language  (0) 2018.12.07
최상위 윈도우 이름 구하기  (0) 2012.12.23
iphone 시간 출력 하기!  (0) 2010.06.28
head first iphone 2장...-_- 슬슬 입질이 온다.  (0) 2010.06.25
head first iphone 1장~  (0) 2010.06.24