Namespaces
Variants

system

From cppreference.net
定义于头文件 <stdlib.h>
int system ( const char * command ) ;

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

如果命令为空指针,检查主机环境是否存在命令处理器,当且仅当命令处理器存在时返回非零值。

目录

参数

command - 标识要在命令处理器中运行的命令的字符串。如果给定空指针,则检查命令处理器是否存在

返回值

实现定义值。如果 command 是空指针,当且仅当命令处理器存在时返回非零值。

注释

在POSIX系统上,返回值可通过 WEXITSTATUS WSTOPSIG 进行解析。

相关的POSIX函数 popen 使得由 command 生成的输出可供调用者使用。

示例

在本示例中,调用了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 system 函数 (p: 257)
  • C11 标准 (ISO/IEC 9899:2011):
  • 7.22.4.8 system 函数 (p: 353-354)
  • C99标准(ISO/IEC 9899:1999):
  • 7.20.4.6 system函数(页码:317)
  • C89/C90 标准 (ISO/IEC 9899:1990):
  • 4.10.4.5 system 函数

参见

C++ 文档 关于 system