- 締切済み
プログラムの中から別なプログラムを実行する
現在、プログラム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文の所には本来別の処理が入ります。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- charmer29-2
- ベストアンサー率25% (41/159)
それだけの目的なら、プログラムAを動かすバッチ処理を記述すればよさそうですが。 Windowsならバッチプログラム(.bat)、Unix系ならシェルスクリプト。 どうしてもCプログラムでやりたいのなら、system()が一番手っ取り早そうです。
- MrBan
- ベストアンサー率53% (331/615)
詳細は環境にも依存するのですが、 例えば「exec/spawn系」などと呼ばれる関数群で対応可能かと。 # 動作の違いによって後ろに色々付いたり(execlとかexeclpとかexecvとか…spawnlとか…) # 前に _ が付いたりすることもあります。 どれが最適かは、要件次第なので各関数の説明なりを見てご判断ください。