函数
<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不是空指针,将导致未定义行为

另见