• ベストアンサー

戻り値をもつアプリケーション

こんにちは。 あるダイアログアプリケーションから、コンソールアプリケーションを起動させ、そのアプリケーションの処理結果をダイアログに表示させたいのです。 どのような方法があるのでしょうか?? int main()でreturnを使ったりするのでしょうか??? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hitomura
  • ベストアンサー率48% (325/664)
回答No.2

No.1のMarrowGさんに補足です。 コンソールアプリケーション側の処理としてはMarrowGさんのおっしゃる通りです。 でも、ダイアログアプリケーション側からどうやってコンソールアプリを実行し、その戻り値を取得できるか?という問題が解決していません。 この問題の答えはズバリsystem()関数です。system()の定義は  int system( const char *command ) となっています。 commandに実行したいコンソールプログラムを起動するコマンドを文字列として渡すと、system()関数の戻り値としてコンソールプログラムのリターンコードが帰ってきます。 ただし、コンソールプログラムの戻り値の中に-1があるとsystem()関数自体にエラーが発生した場合と区別がつかないため、-1をコンソールプログラムの戻り値として返すのはやめたほうがいいかもしれません。

参考URL:
http://www.microsoft.com/japan/developer/library/vccore/_crt_system.2c_._wsystem.htm

その他の回答 (1)

  • MarrowG
  • ベストアンサー率53% (41/76)
回答No.1

>int main()でreturnを使ったりするのでしょうか??? 正解です。(^^) void main()なら、exit()関数を使ってexit()関数のパラメータにリターンコードを渡してやればOKです。

関連するQ&A