system()函数

简介: system()函数

 函数原型

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

int system(const char * command)

image.gif

函数功能

执行 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;
}

image.gif

附录

一些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 信息


相关文章
|
6月前
|
JavaScript 前端开发
JS tostring()和join()方法
JS tostring()和join()方法
40 1
如何利用splice()和slice()方法操作数组
如何利用splice()和slice()方法操作数组
66 0
|
调度
Thread 类中的 yield()方法有什么作用?
Thread 类中的 yield()方法有什么作用?
157 0
println输入和toString方法的重写
println输入和toString方法的重写
127 0
Collection.stream()forEach()和Collection.forEach()有什么区别?
Collection.stream()forEach()和Collection.forEach()有什么区别?
100 0
|
物联网 Shell Linux
System 函数的实现|学习笔记
快速学习 System 函数的实现
System 函数的实现|学习笔记
|
物联网 Shell Linux
System 函数|学习笔记
快速学习 System 函数
System 函数|学习笔记
|
Java 应用服务中间件 容器
getParameter()与 getAttribute()的用法与区别
getParameter()与 getAttribute()的用法与区别
268 0
|
存储 Java 编译器