函数原型

包含在头文件 “stdlib.h” 中

int system(const char * command)

函数功能

执行 dos(windows系统) 或 shell(Linux/Unix系统) 命令,参数字符串command为命令名。另,在windows系统下参数字符串不区分大小写。

说明:在windows系统中,system函数直接在控制台调用一个command命令。
在Linux/Unix系统中,system函数会调用fork函数产生子进程,由子进程来执行command命令,命令执行完后随即返回原调用的进程。

函数返回值

命令执行成功返回0,执行失败返回-1。

举个栗子

实现关机小程序

#include <stdio.h>
#include<string.h>
#include<stdlib.h>
int main(void)
{
    char input[100];
    system("shutdown -s -t 60");
    //这是Windows系统下的一个关机命令
    flag:
	printf("你的电脑将在一分钟后关机,如果输入“我是猪”,就会取消关机!\n请输入: ");
    scanf("%s",input);
    if(0==strcmp(input,"我是猪"))
	{
        system("shutdown -a");//取消关机命令
	}
    else
	{
        goto flag;
	}
    return 0;
}

附录

一些system()函数的参数及实现的功能
表格里的内容可以通过 system(“HELP”);语句获取。

参数功能说明
ASSOC显示或修改文件扩展名关联
ATTRIB显示或更改文件属性
BREAK设置或清除扩展式 CTRL+C 检查
BCDEDIT设置启动数据库中的属性以控制启动加载
CACLS显示或修改文件的访问控制列表(ACL)
CALL从另一个批处理程序调用这一个
CD显示当前目录的名称或将其更改
CHCP显示或设置活动代码页数
CHDIR显示当前目录的名称或将其更改
CHKDSK检查磁盘并显示状态报告
CHKNTFS显示或修改启动时间磁盘检查
CLS清除屏幕*
CMD打开另一个 Windows 命令解释程序窗口*
COLOR设置默认控制台前景和背景颜色*
COMP比较两个或两套文件的内容
COMPACT显示或更改 NTFS 分区上文件的压缩
CONVERT将 FAT 卷转换成 NTFS 你不能转换当前驱动器
COPY将至少一个文件复制到另一个位置
DATE显示或设置日期后面加 /t 表示显示日期
DEL删除至少一个文件
DIR显示一个目录中的文件和子目录
DISKPART显示或配置磁盘分区属性
DOSKEY编辑命令行、撤回 Windows 命令并创建宏
DRIVERQUERY显示当前设备驱动程序状态和属性
ECHO显示消息,或将命令回显打开或关闭
ENDLOCAL结束批文件中环境更改的本地化
ERASE删除一个或多个文件*
EXIT退出 CMD.EXE 程序(命令解释程序)*
FC比较两个文件或两个文件集并显示它们之间的不同*
FIND在一个或多个文件中搜索一个文本字符串*
FINDSTR在多个文件中搜索字符串*
FOR为一组文件中的每个文件运行一个指定的命令
FORMAT格式化磁盘,以便用于 Windows
FSUTIL显示或配置文件系统属性
FTYPE显示或修改在文件扩展名关联中使用的文件类型
GOTO将 Windows 命令解释程序定向到批处理程序中某个带标签的行
GPRESULT显示计算机或用户的组策略信息
GRAFTABL使 Windows 在图形模式下显示扩展字符集*
HELP提供 Windows 命令的帮助信息
ICACLS显示、修改、备份或还原文件和目录的 ACL
IF在批处理程序中执行有条件的处理操作
LABEL创建、更改或删除磁盘的卷标
MD创建一个目录
MKDIR创建一个目录
MKLINK创建符号链接和硬链接
MODE配置系统设备
MORE逐屏显示输出*
MOVE将一个或多个文件从一个目录移动到另一个目录
OPENFILES显示远程用户为了文件共享而打开的文件
PATH为可执行文件显示或设置搜索路径
PAUSE暂停批处理文件的处理并显示消息
POPD还原通过 PUSHD 保存的当前目录的上一个值
PRINT打印一个文本文件
PROMPT更改 Windows 命令提示
PUSHD保存当前目录,然后对其进行更改
RD删除目录
RECOVER从损坏的或有缺陷的磁盘中恢复可读信息*
REM记录批处理文件或 CONFIG.SYS 中的注释(批注)
REN重命名文件
RENAME重命名文件
REPLACE替换文件*
RMDIR删除目录
ROBOCOPY复制文件和目录树的高级实用工具
SET显示、设置或删除 Windows 环境变量
SETLOCAL开始本地化批处理文件中的环境更改
SC显示或配置服务(后台进程)
SCHTASKS安排在一台计算机上运行命令和程序
SHIFT调整批处理文件中可替换参数的位置
SHUTDOWN允许通过本地或远程方式正确关闭计算
SORT对输入排序
START启动单独的窗口以运行指定的程序或命令
SUBST将路径与驱动器号关联
SYSTEMINFO显示计算机的特定属性和配置
TASKLIST显示包括服务在内的所有当前运行的任务
TASKKILL中止或停止正在运行的进程或应用程序
TIME显示或设置系统时间后面加 /t 表示显示时间
TITLE设置 CMD.EXE 会话的窗口标题“TITLE 你想改成啥”
TREE以图形方式显示驱动程序或路径的目录结构“TREE D:”
TYPE显示文本文件的内容“TYPE D:\\文本.txt”
VER显示 Windows 的版本
VERIFY告诉 Windows 是否进行验证,以确保文件正确写入磁盘
VOL显示磁盘卷标和序列号
XCOPY复制文件和目录树
WMIC在交互式命令 shell 中显示 WMI 信息
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐