2010/07/22

Qtで標準入出力を使う

研究ではだいたいVisualStudio2008+Qtを使ってプログラムを書いているのですが,Qtアプリケーションは普通に起動するとコンソールが出ません.一応

qDebug("%d",out);

みたいな感じで出力はできるのですが,入力の仕方はわからないし,Qtを使わない場合もある事を考えるとなるべくprintfとscanfで済ませたい.

ということでQtアプリケーションでコンソールを出す方法を調べました.
結論としては

QApplication a(argc, argv);

を呼ぶ前に以下のコードを書くことで解決.

AllocConsole();
FILE* fp;
freopen_s(&fp, "CON","w",stdout);
freopen_s(&fp, "CON","r",stdin);

同じファイルで大丈夫なのかとも思いましたが,入力も出力も受け付けてくれます.

0 件のコメント:

コメントを投稿