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

admin 百科 16
C++中调用外部程序最直接方式是system()函数,定义于,接收const char*命令字符串,阻塞执行并返回退出状态;成功返回0,失败返回-1,传nullptr仅检测支持性。

C++如何打开外部程序或执行系统命令?(system函数)-第1张图片-佛山资讯网

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

system() 的基本用法

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

  • 成功时返回操作系统命令的退出状态(通常 0 表示成功)
  • 失败时(如命令不存在、权限不足)返回 -1
  • 若传入 nullptr,仅用于检测系统是否支持命令执行(不执行任何命令)

常见调用示例

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

  • Windows 下启动记事本:system("notepad.exe");
  • Linux/macOS 列出当前目录:system("ls -l");
  • 跨平台提示音(依赖系统):system("echo -e '' > /dev/tty 2>/dev/null");(Linux)或 system("echo ");(部分终端有效)
  • 执行带路径的程序:system(""C:\Program Files\MyApp\app.exe" --arg value");(Windows 中路径含空格需加英文双引号)

注意事项与替代方案

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

立即学习“C++免费学习笔记(深入)”;

标签: linux python windows 操作系统 app mac c++ macos win cos notepad

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~