函式
<cstdlib>

system

int system (const char* command);
執行系統命令
呼叫命令處理器來執行一個命令

如果command空指標,該函式僅檢查命令處理器是否可透過此函式使用,而不呼叫任何命令。

呼叫命令的效果取決於系統和庫的實現,並可能導致程式以非標準方式執行或終止。

引數

command
包含要執行的系統命令的C字串。
或者,也可以是空指標,用於檢查命令處理器。

返回值

如果command是空指標,當命令處理器可用時,函式返回一個非零值;如果不可用,則返回零。

如果command不是空指標,則返回值取決於系統和庫的實現,但通常期望是被呼叫命令返回的狀態碼(如果支援的話)。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* system example : DIR */
#include <stdio.h>      /* printf */
#include <stdlib.h>     /* system, NULL, EXIT_FAILURE */

int main ()
{
  int i;
  printf ("Checking if processor is available...");
  if (system(NULL)) puts ("Ok");
    else exit (EXIT_FAILURE);
  printf ("Executing command DIR...\n");
  i=system ("dir");
  printf ("The value returned was: %d.\n",i);
  return 0;
}

資料競爭

該函式訪問由command指向的陣列。
使用空指標作為引數併發呼叫此函式是安全的。否則,安全性取決於系統和庫的實現。

異常 (C++)

無丟擲保證:此函式不丟擲異常。

如果command不是空指標,將導致未定義行為

另見