贝利信息

C++如何打开外部程序或执行系统命令?(system函数)

日期:2025-12-13 00:00 / 作者:穿越時空
C++中调用外部程序最直接方式是system()函数,定义于,接收const char*命令字符串,阻塞执行并返回退出状态;成功返回0,失败返回-1,传nullptr仅检测支持性。

在C++中调用外部程序或执行系统命令,最直接的方式是使用标准库函数 system(),它定义在 头文件中。

system() 的基本用法

该函数接收一个 C 风格字符串(const char*),内容为要执行的命令行指令,例如打开记事本、列出目录、运行 Python 脚本等。函数会阻塞当前程序,直到外部命令执行完毕。

常见调用示例

不同平台命令语法略有差异,需注意可移植性:

注意事项与替代方案

system() 简单但有明显局限:

如需更精细控制,应考虑平台特定 API(如 Windows 的 CreateProcess,POSIX 的 fork + exec)或跨平台库(如 boost::process)。

简单安全的使用建议

若仅需“触发一个已知安全的命令”且不关心结果,可用 system(),但务必遵守:

基本上就这些。