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 保存的当前目录的上一个值
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 信息
C语言中的string函数主要包括字符串的处理函数和字符串的操作函数。 字符串的处理函数主要有以下几个: 1. strlen:用于计算字符串的长度,即包含的字符数目。 2. strcpy:用于将一个字符串复制到另一个字符串中。 3. strcat:用于将两个字符串连接起来。 4. strcmp:用于比较两个字符串的大小关系。 5. strchr:用于在一个字符串中查找指定字符的位置。 6. strstr:用于在一个字符串中查找指定子串的位置。 字符串的操作函数主要有以下几个: 1. sprintf:用于将格式化的数据写入字符串中。 2. sscanf:用于从字符串中读取格式化的数据。 3. strtok:用于将一个字符串按照指定的分隔符进行分割。 4. strncmp:用于比较两个字符串的前n个字符的大小关系。 5. strncpy:用于将一个字符串的部分内容复制到另一个字符串中。 6. memset:用于给字符串的指定范围内的每个字符赋予相同的值。 这些函数可以帮助我们在C语言中方便地处理字符串,实现字符串的复制、连接、比较、查找等操作。通过这些函数,我们可以更高效地处理文本数据,提高代码的可读性和可维护性。 需要注意的是,使用这些函数时要确保输入的参数合法,以避免内存越界等错误。同时,字符串的内存空间需要提前分配好,以免出现不可预知的问题。在实际编程中,我们需要灵活运用这些函数,结合具体需求,进行字符串的处理。
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值