プログラムから別のコマンドを実行する
K&R本 7.8.4
system関数を使えば、別のコマンドを実行できる。
ためしに自分自身を呼び出すプログラムを書いてみる
#include <stdio.h> #include <stdlib.h> int main (int argc,char *argv[]) { int i = 0; char command[100]; if ( argc < 2 ) exit(0); i = atoi(*++argv); if ( i <= 0 ) exit(0); printf("%d ",i); sprintf_s(command,sizeof(command),"main %d",i-1); system(command); return 0; }
$ main 10 10 9 8 7 6 5 4 3 2 1
おお、凄い。自分自身のコマンドを再帰的に呼び出してますね。
こんなプログラムも書けるんですね楽しいです。