• 締切済み

プログラムの中から別なプログラムを実行する

現在、プログラムAを利用しています。プログラムAを何度も実行するようループ処理を加えたいのですが、インクルードファイルが行方不明になり、プログラムAのソースに手を加えてコンパイルすくことが出来なくなりました。 そこで、プログラムBを作り、その中からAを実行することでループさせたいのですが可能なのでしょうか?もし可能ならどのようにすればいいのか教えてください。よろしくお願いします。 プログラムAは次のようになっています。 #include <stdio.h> int avn; int nos; float fac; char fh[20]; void main(void){ printf(" input average number \n "); printf("0=>100,1=>200,2=>500,3=>1000 shots \n"); printf(" 10, 20, 50, 100 sec \n"); printf(" number = "); scanf("%d",&avn); printf(" number of records = "); scanf("%d",&nos); printf(" number / factor = "); scanf("%f",&fac); printf(" file head = "); scanf("%s",fh); printf("%d,%d,%f,%sが設定されました",avn,nos,fac,fh); } printf文の所には本来別の処理が入ります。

みんなの回答

回答No.2

それだけの目的なら、プログラムAを動かすバッチ処理を記述すればよさそうですが。 Windowsならバッチプログラム(.bat)、Unix系ならシェルスクリプト。 どうしてもCプログラムでやりたいのなら、system()が一番手っ取り早そうです。

すると、全ての回答が全文表示されます。
  • MrBan
  • ベストアンサー率53% (331/615)
回答No.1

詳細は環境にも依存するのですが、 例えば「exec/spawn系」などと呼ばれる関数群で対応可能かと。 # 動作の違いによって後ろに色々付いたり(execlとかexeclpとかexecvとか…spawnlとか…) # 前に _ が付いたりすることもあります。 どれが最適かは、要件次第なので各関数の説明なりを見てご判断ください。

参考URL:
http://www.jurapun.com/Tutorial/VC/Group18/Spawn.htm
すると、全ての回答が全文表示されます。

専門家に質問してみよう