system 〜コマンド(外部プログラム)実行〜


目次に戻る


以前も他のプログラムを実行する関数execを紹介した。しかし、execは他のプログラムが 実行し終わると自分自身も一緒に終了してしまう物だった。関数systemは他のプログラ ムを実行しても自分のプログラムの処理を継続できる。
 
 
/* コマンド実行の例 */
#include <stdlib.h>
#include <stdio.h>

int main()
{
   printf("go!\n");
   system("dir");
   printf("end!\n");
   return 0;
}

欠点は、WindowsGUIプログラムを実行したときの処理とコンソールプログラムを実行した ときの挙動が少し異なる所と、実行するプログラムはカレントディレクトリもしくは、PATH の通った所にある必要がある。
 
/* windowsプログラムだと関数systemはブロックしない */
#include <stdlib.h>
#include <stdio.h>

int main()
{
   printf("go!\n");
   system("notepad");
   printf("end!\n");
   return 0;
}



目次に戻る