他のプログラムを実行するには 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 正常に実行されました.
たくさんあるC言語関連の書籍の中でも特に役に立った本です.よかったら参考にしてみてください.
C言語の実践的参考書.少々値段は張りますが初心者を脱しようとしている人は絶対に読むべきです.
文法だけでなく,コーディングスタイルやデバッグなど文字通り「実践的」なことが書かれているので非常にためになります.
オライリーの本は,読みにくい本が多いのですが本書はとても読みやすくオススメです.
ポインタの解説書としては最高の書籍です.
この1冊でポインタを完全に理解することができます.全くの初学者が読むには敷居が高いですが,入門書を読み終えた後に読むと非常に有益です.