タグ

Cとstdoutに関するkiyo_hikoのブックマーク (1)

  • Windowsアプリケーションでprintf: 晶紀の館 第2別館

    (前回までのあらすじ) Windowsアプリケーション(GUIプログラム)なのに、実行結果をコマンドプロンプトに表示しなければならなくなった。 Windowsアプリケーションでは、標準入出力が何処にも割り当てられていないので、 printf("Hello, World!"); としても何処にも表示されません。 “何処にも割り当てられていない”が表示されない原因ならば、プログラム上で何処かに割り当ててしまえば万事OKです。 標準入出力の設定は、freopen()関数で行えるのですが、Windowsアプリケーションの場合は、その前にAllocConsole APIを呼ばなければならないことになっているようです。 ::AllocConsole(); // コマンドプロンプトが表示される freopen("CON", "r", stdin); // 標準入力の割り当て freopen("CON",

    Windowsアプリケーションでprintf: 晶紀の館 第2別館
    kiyo_hiko
    kiyo_hiko 2016/01/19
    "Windowsアプリケーション(GUIプログラム)なのに、実行結果をコマンドプロンプトに表示しなければならなくなった" "AttachConsoleを使用します" freopen("CON", "w", stdout)
  • 1