WindowsのGUIアプリにデバッグ用のコンソールを使う

アプリの最初でAllocConsoleを呼ぶ。これでコンソールが表示される。1アプリにつき1コンソールしかもてない。

コンソールに表示したい文字列を以下のように実行する。

この関数、引数は同じなのにもかかわらずAとWがあるということは、内部でうまく変換してくれるのだろうか。
ここでは試していない。
WriteConsoleの代わりにWriteFileでもいい。これならルーチン化してログをファイルにとる場合でも使えるようになる。
アプリの最後にFreeConsoleを呼んで開放する。

ただし問題もある。このプロセスが作られる際に標準ハンドルの継承など普通の起動のさせ方でない場合、この方法がうまくいかない場合がある。よってちゃんとつくるなら、それを調べるか、あるいは自分でウインドウをつくってやるしかない。

Leave a Reply

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)