Windows GUI app の console/terminal 出力
WndProc で WM_CREATE の際に次のように console を初期化しておく。
case WM_CREATE:
int hConsle;
AllocConsole();
hConsle = _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);
*stdout = *_fdopen(hConsle, "w");
setvbuf(stdout, NULL, _IONBF, 0);
// printf("console output\n");
break;
stdio.h, io.h, fcntl.h を include しておく。
ただ、これでは別な DOS window があがるだけなので、存在する DOS window
から起動して、そこに書かせられるわけではない。なんとも自分勝手なつくりだ。