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


相关文章
|
Linux C++
通过C/C++代码设置Linux系统时间的方法与实例
Linux系统中的时间设置是关键任务之一,涉及日志记录、数据同步等众多应用场景。本文将详细介绍如何通过C/C++代码设置Linux系统时间,包括调用系统调用和使用第三方库,同时提供实例演示。
3062 2
|
关系型数据库 MySQL Shell
MySQL高可用之双主+Keepalived,轻松实现单点故障VIP转移
MySQL高可用之双主+Keepalived,轻松实现单点故障VIP转移
2610 0
MySQL高可用之双主+Keepalived,轻松实现单点故障VIP转移
|
人工智能 数据可视化 计算机视觉
Ultralytics YOLO11来啦!更快!更强!
YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的 Joseph Redmon 和 Ali Farhadi 开发。
Ultralytics YOLO11来啦!更快!更强!
|
6月前
|
人工智能 搜索推荐 Cloud Native
拔俗AI助教系统:教师的"超级教学秘书",让每堂课都精准高效
备课到深夜、批改作业如山?阿里云原生AI助教系统,化身“超级教学秘书”,智能备课、实时学情分析、自动批改、精准辅导,为教师减负增效。让课堂从经验驱动转向数据驱动,每位学生都被看见,教育更有温度。
705 0
|
存储 弹性计算 安全
阿里云服务器实例选择:经济型、通用算力型、计算型、通用型、内存型实例选择参考
当我们通过阿里云的活动购买云服务器会发现,相同配置的云服务器往往有多个不同的实例可选,而且价格差别也比较大,例如同样是4核8G的配置的云服务器,经济型e实例活动价格1595.11元/1年起,通用算力型u1实例要955.58元/1年起,而计算型c8i实例则要2845.81元/1年起,价格差别还是比较大的,因此,阿里云经济型、通用算力型、计算型、通用型、内存型实例云服务器有何差别就是很多新手用户比较关心的问题了,下面小编来为大家简单介绍下它们之间的区别。
946 16
|
存储 SQL 大数据
矢量数据库与传统数据库的对比:优势与挑战
【4月更文挑战第30天】矢量数据库与传统数据库对比:矢量数据库擅长处理高维数据和相似性搜索,适用于AI及大数据场景,但技术复杂度高,集成与数据迁移具挑战;传统数据库成熟稳定,简单易用且支持广泛,但在处理非结构化数据上不足。选择需依据具体业务需求。
|
数据采集 机器学习/深度学习 Rust
使用Rust进行线性回归的简单案例
使用Rust进行线性回归的简单案例
398 9
|
SQL 存储 Java
一文帮你搞定MyBatis的类型转换模块,深度好文,欢迎一键三连!!!
MyBatis是一个持久层框架ORM框架,实现数据库中数据和Java对象中的属性的双向映射,那么不可避免的就会碰到类型转换的问题,在PreparedStatement为SQL语句绑定参数时,需要从Java类型转换为JDBC类型,而从结果集中获取数据时,则需要从JDBC类型转换为Java类型,所以我们来看下在MyBatis中是如何实现类型的转换的。
一文帮你搞定MyBatis的类型转换模块,深度好文,欢迎一键三连!!!
|
XML 搜索推荐 Java
Elasticsearch集成到Spring Boot项目
将Elasticsearch集成到Spring Boot项目中,可以方便地实现数据的搜索、分析等功能。
795 2
|
消息中间件 存储 Ubuntu
简单记录一下常规安装 RabbitMQ 的方法步骤
这篇文章详细介绍了在本地环境下安装和配置RabbitMQ消息队列的过程,包括RabbitMQ的基本概念、安装步骤、不同模式的特点以及在Linux和Windows系统下的安装方法。
1339 0

热门文章

最新文章

下一篇
开通oss服务