C语言的system()函数详解
函数原型
包含在头文件 “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 保存的当前目录的上一个值 | |
打印一个文本文件 | ||
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 信息 |
C语言的system()函数详解相关推荐
- system()函数详解
windows下system () 函数详解 windows操作系统下system () 函数详解(主要是在C语言中的应用) 函数名: system 功 能: 发出一个DOS命令 用 法: int s ...
- c语言中快排函数,c语言快排函数详解
c语言快排函数详解 int cmp(const void *a, const void *b) 返回正数就是说 cmp 传入参数第一个要放在第二个后面, 负数就是传入参数第一个要放第二个前面, 如果是 ...
- C语言-入门级别函数详解
C语言-入门级别函数详解 写在开始 关于函数 1. 函数的定义形式 2.函数的声明 3. 返回语句 4.函数参数 4.1 形式参数(传值调用) 4.2 实际参数(传址调用) 4.3无参数 5.函数的调 ...
- C语言qsort快速排序函数详解
直接进入主题,在c语言中qsort函数是用来快速排序的,qsort有4个参数,分别是数组地址,数组元素个数,数组元素字节大小和一个比较数组元素的函数指针.让我来看一下官方给出的使用标准,上图: 让我们 ...
- Linux下system () 函数详解简介
(执行shell 命令) 相关函数 fork,execve,waitpid,popen 表头文件 #include<stdlib.h> 定义函数 int system(const char ...
- c语言编写printf函数,C语言之printf函数详解
一 基本用法 格式化控制符:%d %c %ld %lf 意思是:相当于在要输出的语句里面挖了一个坑,也就是在内存中开辟空间,然后再那个坑的位置(也就是开辟好的空间),填上你想要显示的值 printf ...
- 【C语言】字符串函数详解
hello~~,我是~小鹿 ,这是我的第一篇博客,没有循序渐进从基础开始写,只是最近在学习这里就写了,比较随心吧.希望这一篇博客能够给你带来帮助,之后也会继续写的,只是可能没有循序渐进,会比较杂七杂八 ...
- Windows下system()函数详解
Start~~ 在C++/C的Windows环境中,对于控制台窗口的处理,有一个函数必须知道: system(" "); 是的,没错.它可以调动Cmd控制台中的命令,来方便程序员的 ...
- linux下system函数详解
一.system函数的简单介绍 头文件 #include <stdlib.h>函数定义int system(const char * string); 函数说明 system()会调用fo ...
- linux的system () 函数详解
system(执行shell 命令) 相关函数 fork,execve,waitpid,popen 表头文件 #i nclude<stdlib.h> ...
最新文章
- fedora 14安装OFFICE套件
- 自动清理归档日志_Oracle重做日志和日志挖掘
- python学起来难不难-自学Python很难吗,为何会看不进去!
- 跨域问题的产生及解决方法
- android如何自定义viewpager,Android自定义ViewPager实现个性化的图片切换效果
- java Serializable和Externalizable序列化反序列化详解--转
- Nginx配置报错unknown directive echo的解决
- debian安装搜狗
- 给新手程序员的一些建议
- 一些上流的CSS3图片样式
- varchar 求和 非数值_考研线性代数 解题方法汇总(非知识点汇总)
- 蓝桥杯 基础练习 FJ的字符串
- python中的reindex_Python reindex使用详解
- isset、is_null、empty的区别
- lammps计算的应力的方法
- php通过mysqldump数据库备份,mysql使用mysqldump进行数据库备份_MySQL
- CodeQL自动化代码审计工具
- 【自学oracle】韩顺平oracle视频教程学习笔记
- 详解线上线下收单业务(一)第三方支付
- 关于DE405星历表的调用