プロが教えるわが家の防犯対策術!

C言語、C++(WinXP)で以下のようなことはできるのでしょうか。
例えば、
//A.cpp
void main()
{
cout << 1 << endl;
}
というプログラムをA.exeという名前で作ったとします。そして、別のB.exeというプログラムを
//B.cpp
void main()
{
system( "A.exe" );
}
として実行すると(A.exeとB.exeは同じフォルダにあるとして)、コマンドプロンプトに"1"と出力されますが、B.exe中でA.exeがcoutに出力した内容を取得してなんらかの計算をする、例えば、
//B.cpp
void main()
{
system( "A.exe" );
int x; //xにcoutの内容"1"を取得する
x *= 2;
}
のようなことはできるのでしょうか。また、A.exeの出力先がcoutではなくcerrの場合はどうでしょうか。

coutの場合はリダイレクトを使えば同様のことができるような気もするのですが、実際にやりたいのは、コマンドプロンプトで使う事を前提にして作ったプログラム(A.exeのような)があり、それをVC++6.0で作るダイアログベースのGUIプログラムから呼び出します。ただ、A.exeはエラーがあった場合等にcoutやcerrにメッセージを出力するので、GUIプログラム側でそれを取得してエディットボックスやメッセージボックスに出力したいのです。

このような事ができるのかどうかもわからないのですが、もし方法をご存知でしたらご教授をお願いします。

A 回答 (1件)

    • good
    • 0
この回答へのお礼

ご回答、ありがとうございます。参考URLを見てみましたが私には難しく、すぐには理解できそうにないのですが、少しずつ勉強してみたいと思います。

お礼日時:2003/10/18 23:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!