北海道に住みたいと言っているだけのブログ

MinGW + mintty(Console2) でprintfが出力されない,順番がおかしい

メモ.
Issue 218 - mintty - printf before scanf doesn't show printf string before input - Terminal window for Cygwin and MSYS - Google Project Hosting


当方の環境だとscanfは利用しなかったのだが,ループで繰り返しprintfする場面において文字が出力されない事態に陥った.ちなみに通常のコンソール(MinGW + cmd.exe)では正常に動作した.


上記サイトによると

call fflush(stdout) whenever output needs to appear, or switch stdout to unbuffered mode at the start of the program, like so:


setvbuf(stdout, 0, _IONBF, 0);

のように,アンバッファモードにすることで解決できる模様.
知らなかった.