system 函数概述
- 头文件:#include <stdlib.h>
- 作用:在 C 程序内部调用 Windows 系统 cmd 命令,执行操作系统自带的指令
- 语法:system("系统命令字符串");
注意:仅 Windows 支持这些 cmd 指令,Linux/macOS 不支持 pause、calc、color 等
常用系统指令
- pause 暂停
● 功能:暂停程序,等待按键,防止黑窗口一闪而过
c
#include<stdio.h>
#include<stdlib.h>
int main()
{
system("pause");
return 0;
}
补充:VS 新版本控制台默认不会一闪而过;老版本 VC6/VS2017 及以下必须写 pause
提示文字是 CMD 自带,英文 / 中文取决于控制台代码页
- cls 清屏
c
system("cls");
清空控制台所有输出内容
- color 修改控制台颜色
格式:color 背景色前景色
c
#include<stdio.h>
#include<stdlib.h>
int main()
{
system("color 02"); // 0黑背景,2绿色文字
printf("黑底绿字测试\n");
system("pause");
return 0;
}
- 打开系统软件
c
system("start calc:"); // 打开计算器
system("notepad"); // 打开记事本
- 运行外部 exe 程序
c
// 注意路径反斜杠要写两个 \\
system("D:\\test\\demo.exe");
查看命令帮助文档
在命令末尾加 /?,查看该指令官方说明
c
system("pause /?");
system("cls /?");
system("color /?");
易错点
- system()是调用外部 cmd,不是 C 语言本身的语法,跨平台不兼容
- 路径字符串:C 里面\是转义字符,写文件路径必须写成\
- system("pause")输出文字由系统控制台决定,不是代码直接控制
完整综合示例
c
#include<stdio.h>
#include<stdlib.h>
int main()
{
system("color 02");
printf("即将打开记事本\n");
system("notepad");
system("cls");
printf("屏幕已经清屏\n");
system("pause");
return 0;
}