C语言system函数使用方法详解

函数接口

_DCRTIMP int __cdecl system(

_In_opt_z_ char const* _Command

);

system函数已经被收录在标准c库中,头文件为<stdlib.h>

作用

执行系统命令调用命令处理器来执行命令。

如果命令是空指针,则该函数只检查是否有命令处理器可以被此函数使用。

命令非空则调用命令的效果取决于系统和库的实现,并可能导致程序以非标准的方式运行或终止。

补充:

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

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

返回值

如果命令为空指针,如果命令处理器是可用的则该函数将返回一个非零值,如果不可用,则为零。

如果命令不是NULL指针,返回的值取决于系统和库的实现,但如果支持的话,通常期望它是被调用的命令返回的状态代码,通常是命令执行成功返回0,执行失败返回-1。

测试代码

/* system example : DIR */

#include <stdio.h> /* printf */

#include <stdlib.h> /* system, NULL, EXIT_FAILURE */

int main()

{

int i;

printf("Checking if processor is 可用的...?");

if (system(NULL)) puts("Ok");

else exit(EXIT_FAILURE);

printf("Executing command DIR...\n");

i = system("dir");

printf("The value returned was: %d.\n", i);

return 0;

}

参数

参数功能使用说明
ASSOC显示或修改文件扩展名关联
ATTRIB显示或更改文件属性
BREAK设置或清除扩展式 CTRL+C 检查
BCDEDIT设置启动数据库中的属性以控制启动加载
CACLS显示或修改文件的访问控制列表(ACL)
CALL从另一个批处理程序调用这一个
CD显示当前目录的名称或将其更改
CHCP显示或设置活动代码页数
CHDIR显示当前目录的名称或将其更改
CHKDSK检查磁盘并显示状态报告
CHKNTFS显示或修改启动时间磁盘检查
CLS清除屏幕*
CMD打开另一个 Windows 命令解释程序窗口*
COLOR设置默认控制台前景和背景颜色system("color 0B");
COMP比较两个或两套文件的内容
COMPACT显示或更改 NTFS 分区上文件的压缩
CONVERT将 FAT 卷转换成 NTFS 你不能转换当前驱动器
COPY将至少一个文件复制到另一个位置
DATE显示或设置日期system("date /T");

后面加 /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获取该表格的内容
ICACLS显示、修改、备份或还原文件和目录的 ACL
IF在批处理程序中执行有条件的处理操作
LABEL创建、更改或删除磁盘的卷标
MD创建一个目录
MKDIR创建一个目录
MKLINK创建符号链接和硬链接
MODE查看与配置系统设备system(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允许通过本地或远程方式正确关闭计算机system(“shutdown -s –t 60”)60秒后关机

system("shutdown -a");取消关机

system("shutdown -p");立即关闭

system("shutdown -1");注销计算机

SORT对输入排序
START启动单独的窗口以运行指定的程序或命令
SUBST将路径与驱动器号关联
SYSTEMINFO显示计算机的特定属性和配置
TASKLIST显示包括服务在内的所有当前运行的任务
TASKKILL中止或停止正在运行的进程或应用程序
TIME显示或设置系统时间system("date /T");

后面加 /t 表示显示日期

TITLE设置 CMD.EXE 会话的窗口标题“TITLE 你想改成啥”
TREE以图形方式显示驱动程序或路径的目录结构“TREE D:”
TYPE显示文本文件的内容“TYPE D:\\文本.txt”
VER显示 Windows 的版本
VERIFY告诉 Windows 是否进行验证,以确保文件正确写入磁盘
VOL显示磁盘卷标和序列号
XCOPY复制文件和目录树
WMIC在交互式命令 shell 中显示 WMI 信息

MODE命令

system(mode);

(936表示简体中文)

应用示例

示例一:

改变DOS窗口的尺寸:

打开命令提示符cmd,键入mode con cols=100 lines=40则DOS窗口的尺寸将会变为40行100列的,cols最小值为13,lines最小值为1。在C语言中也可以通过system函数调用这个dos命令来实现这个功能。

示例二:

显示代码页:

代码页,通俗的说就是DOS中显示的语言。具体代码页可以查看代码页这个百科词条。

比如,想让DOS下显示的语言为美式英语,则输入mode con cp select=437即可,输出为:

color命令

system("color 02"); 是表示黑背景、绿色前景(即字的颜色).颜色属性由两个十六进制数字指定 -- 第一个为背景第二个则为前景。每个数字可以为以下任何值之一

0 = 黑色       8 = 灰色

1 = 蓝色       9 = 淡蓝色

2 = 绿色       A = 淡绿色

3 = 湖蓝色     B = 淡浅绿色

4 = 红色       C = 淡红色

5 = 紫色       D = 淡紫色

6 = 黄色       E = 淡黄色

7 = 白色       F = 亮白色

0 = black 8 = gray

1 = blue 9 = light blue

2 = green A = light green

3 = lake blue B = light green

4 = red C = light red

5 = purple D = lavender

6 = yellow E = light yellow

7 = white F = bright white

注意:一个程序中永远是最后一个system(“color xx”)起作用

到此这篇关于C语言system函数使用方法详解的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。

以上是 C语言system函数使用方法详解 的全部内容, 来源链接: utcz.com/p/247880.html

回到顶部