命名空间
变体
操作

system

来自 cppreference.cn
< c‎ | program
定义于头文件 <stdlib.h>
int system( const char *command );

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

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

目录

[edit] 参数

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

[edit] 返回值

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

[edit] 注解

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

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

[edit] 示例

在此示例中,有一个对 unix 命令 date +%A 的系统调用,以及一个对(可能已安装的)gcc 编译器和命令行参数 (--version) 的系统调用

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

可能的输出

Wednesday
gcc (GCC) 11.2.0
...

[edit] 参考文献

  • 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 函数 (p: 317)
  • C89/C90 标准 (ISO/IEC 9899:1990)
  • 4.10.4.5 system 函数

[edit] 参见

C++ 文档 关于 system