system

来自cppreference.com
< c‎ | program
在标头 <stdlib.h> 定义
int system( const char *command );

以参数 command 调用宿主环境的命令处理器。返回实现定义值(通常是被调用程序所返回的值)。

command 是空指针,则检查宿主环境是否有命令处理器,并若且仅若命令处理器存在才返回非零。

参数

command - 标识要运行于命令处理器的命令的字符串。若给出空指针,则检查其存在性

返回值

实现定义值。若 command 为空指针,则当且仅当命令处理器存在才返回非零值。

注意

POSIX 系统上,可用 WEXITSTATUSWSTOPSIG 分解返回值。

相关的 POSIX 函数 popencommand 生成的输出对调用方可用。

示例

此示例中有 unix 命令 date +%A 的系统调用,以及(可能安装的)gcc 编译器附带命令行参数(--version)的系统调用:

#include <stdlib.h>
 
int main(void) {
    system("date +%A");
    system("gcc --version");
}

可能的输出:

Wednesday
gcc (GCC) 11.2.0

引用

  • C17 标准(ISO/IEC 9899:2018):
  • 7.22.4.8 The system function (第 257 页)
  • C11 标准(ISO/IEC 9899:2011):
  • 7.22.4.8 The system function (第 353-354 页)
  • C99 标准(ISO/IEC 9899:1999):
  • 7.20.4.6 The system function (第 317 页)
  • C89/C90 标准(ISO/IEC 9899:1990):
  • 4.10.4.5 The system function

参阅