他のプログラムを実行するには stdlib.h の system 関数を使用します.
#include <stdlib.h>
int system( const char *string );
system 関数は,コマンドプロセッサ (command processor) へ string が指す文字列を渡す関数です.system 関数によって渡された文字列はコマンドプロセッサによって実行されます.
以下に system 関数を使って他のプログラムを実行するサンプルプログラムを示します.
呼び出す側のプログラム (exec.c)
以下の呼び出す側のプログラム (exec.c) を exec.out と言う名前でコンパイルします.
/* header files */
#include <stdio.h>
#include <stdlib.h>
/* main */
int main(void) {
char program[] = "./print.out";
int result;
/* 他プログラムを実行する */
result = system(program);
if ( result == EXIT_SUCCESS ) {
puts("正常に実行されました.");
} else {
puts("正常に実行されませんでした.");
}
return EXIT_SUCCESS;
}
呼び出される側のプログラム (print.c)
以下の呼び出される側のプログラム (print.c) を print.out という名前でコンパイルします.
/* header files */
#include <stdio.h>
#include <stdlib.h>
/* main */
int main(void) {
printf("Snoopy\n");
return EXIT_SUCCESS;
}
exec.out を実行することで,print.out を呼び出します.実行結果は以下のようになります.
Snoopy 正常に実行されました.