C言語 コマンドプロセッサの確認とコマンドの実行 - stdlib.h - [ system ]

2008.11.02 Sunday | by LRESULT


マンドプロセッサの存在確認と、コマンドの実行を行うには、system()を使います。

コマンドプロセッサとは、CUI型のプログラムの起動や制御を行うプログラムの事です。
Windowsの場合では「コマンドプロンプト(cmd.exe)」と呼ばれ、
UNIX系などでは「シェル」と呼ばれています。

つまり、system()関数を使うと、
コマンドプロンプトで実行できるDOSコマンドが使えたりするわけです。


system
書式 int system( const char *s )
機能 コマンドプロセッサの存在確認とコマンドの実行
引数 const char *s : コマンドプロセッサに渡すコマンド(文字列)
NULLを指定すると、コマンドプロセッサの存在確認が出来ます。
戻り値 引数s にNULLを指定した場合は、コマンドプロセッサがあれば0以外を返し、
コマンドプロセッサが無ければ0を返します。
引数s にコマンドを指定した場合は、環境(OS)依存となりますが、
コマンドがあれば0を返し、無ければ1を返してました(Windowsの場合)





サンプルコード
Windows上で、DOSコマンドの「mkdir」を使用し、
「command_test」フォルダを作成します。
また、「calc」を入力し、電卓を起動してみます。

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
  printf( "DOSコマンドでフォルダを作成¥n" );
  system( "mkdir command_test" );

  printf( "Windowsの電卓を実行¥n" );
  system( "calc" );

  return 0;
}




結果
DOSコマンドでフォルダを作成
Windowsの電卓を実行
というように、表示されます。
なお、コマンド通りに、「command_test」フォルダが作成され
Windowsの通常の環境の場合は、電卓が起動します。
DOSコマンドを知ってる方は何かと重宝しそうですね。

カテゴリ:C言語 stdlib.h | 00:45 | comments(0) | trackbacks(0) | -


コメントする











この記事のトラックバックURL

http://simd.jugem.jp/trackback/102

トラックバック