关于system()的一些用法

C语库函数 函数名: system

功  能: 发出一个DOS命令

用  法: int system(char *command);

它包含头文件<stdlib.h>

system("pause")  pause the programe.

system("cls")       clean the screen.

system("tasklist /svc") view the process

system("taskkill /pid 1 /T /F") terminate the process by process ID

system("taskkill /im notepad.ext /T /F") 以进程名结束

system("taskkill /im iexplore.exe /t /f") 关闭所有IE窗口

/T = 以树形结束  /F = 强制结束

system函数 是可以调用一些DOS命令,比如
system("cls");//清屏,等于在DOS上使用cls命令
下面列出常用的DOS命令,都可以用system函数调用:

ASSOC 显示或修改文件扩展名关联。
AT 计划在计算机上运行的命令和程序。
ATTRIB 显示或更改文件属性。
BREAK 设置或清除扩展式 CTRL+C 检查。
CACLS 显示或修改文件的访问控制列表(ACLs)。
CALL 从另一个批处理程序调用这一个。
CD 显示当前目录的名称或将其更改。
CHCP 显示或设置活动代码页数。
CHDIR 显示当前目录的名称或将其更改。
CHKDSK 检查磁盘并显示状态报告。
CHKNTFS 显示或修改启动时间磁盘检查。
CLS 清除屏幕。
CMD 打开另一个 Windows 命令解释程序窗口。
COLOR 设置默认控制台前景和背景颜色。
COMP 比较两个或两套文件的内容。
COMPACT 显示或更改 NTFS 分区上文件的压缩。
CONVERT 将 FAT 卷转换成 NTFS。您不能转换
当前驱动器。
COPY 将至少一个文件复制到另一个位置。
DATE 显示或设置日期。
DEL 删除至少一个文件。
DIR 显示一个目录中的文件和子目录。
DISKCOMP 比较两个软盘的内容。
DISKCOPY 将一个软盘的内容复制到另一个软盘。
DOSKEY 编辑命令行、调用 Windows 命令并创建宏。
ECHO 显示消息,或将命令回显打开或关上。
ENDLOCAL 结束批文件中环境更改的本地化。
ERASE 删除至少一个文件。
EXIT 退出 CMD.EXE 程序(命令解释程序)。
FC 比较两个或两套文件,并显示
不同处。
FIND 在文件中搜索文字字符串。
FINDSTR 在文件中搜索字符串。
FOR 为一套文件中的每个文件运行一个指定的命令
FORMAT 格式化磁盘,以便跟 Windows 使用。
FTYPE 显示或修改用于文件扩展名关联的文件类型。
GOTO 将 Windows 命令解释程序指向批处理程序
中某个标明的行。
GRAFTABL 启用 Windows 来以图像模式显示
扩展字符集。
HELP 提供 Windows 命令的帮助信息。
IF 执行批处理程序中的条件性处理。
LABEL 创建、更改或删除磁盘的卷标。
MD 创建目录。
MKDIR 创建目录。
MODE 配置系统设备。
MORE 一次显示一个结果屏幕。
MOVE 将文件从一个目录移到另一个目录。
PATH 显示或设置可执行文件的搜索路径。
PAUSE 暂停批文件的处理并显示消息。
POPD 还原 PUSHD 保存的当前目录的上一个值。
PRINT 打印文本文件。
PROMPT 更改 Windows 命令提示符。
PUSHD 保存当前目录,然后对其进行更改。
RD 删除目录。
RECOVER 从有问题的磁盘恢复可读信息。
REM 记录批文件或 CONFIG.SYS 中的注释。
REN 重命名文件。
RENAME 重命名文件。
REPLACE 替换文件。
RMDIR 删除目录。
SET 显示、设置或删除 Windows 环境变量。
SETLOCAL 开始批文件中环境更改的本地化。
SHIFT 更换批文件中可替换参数的位置。
SORT 对输入进行分类。
START 启动另一个窗口来运行指定的程序或命令。
SUBST 将路径跟一个驱动器号关联。
TIME 显示或设置系统时间。
TITLE 设置 CMD.EXE 会话的窗口标题。
TREE 以图形模式显示驱动器或路径的目录结构。
TYPE 显示文本文件的内容。
VER 显示 Windows 版本。
VERIFY 告诉 Windows 是否验证文件是否已正确
写入磁盘。
VOL 显示磁盘卷标和序列号。
XCOPY 复制文件和目录树。

功 能: 发出一个DOS命令

用 法: int system(char *command);

system函数已经被收录在标准c库中,可以直接调用

程序例:

1 #include <stdlib.h>
2 #include <stdio.h>
3 int main(void)
4 {
5       printf("About to spawn command.com and run a DOS command\n");
6   system("dir");
7   return 0;
8 }

又如:system("pause")可以实现冻结屏幕,便于观察程序的执行结果;system("CLS")可以实现清屏操作。而调用color函数可以改变控制台的前景色和背景,具体参数在下面说明。

  例如,用 system("color 0A"); 其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:

  0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色

  (注意:Microsoft Visual C++ 6.0 支持system)

  看了下面实例,相信你会对学到更多system在C程序设计中的应用。

  例一:

C语言调用DOS命令实现定时关机:

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<stdlib.h>
 4   int print()
 5   {
 6   printf(" ╪╪╪╪╪╪╧╧╧╧╧╧╧╧╪╪╪╪╪╪\n");
 7   printf("╔═══╧╧ C语言 关机程序 ╧╧═══╗\n");
 8   printf("║※1.实现10分钟内的定时关闭计算机 ║\n");
 9   printf("║※2.立即关闭计算机 ║\n");
10   printf("║※3.注销计算机 ║\n");
11   printf("║※0.退出系统 ║\n");
12   printf("╚═══════════════════╝\n");
13   return 0;
14   }
15   void main()
16   {
17   system("title C语言关机程序");//设置cmd窗口标题
18   system("mode con cols=48 lines=25");//窗口宽度高度
19   system("color 0B");
20   system("date /T");
21   system("TIME /T");
22   char cmd[20]="shutdown -s -t ";
23   char t[5]="0";
24   print();
25   int c;
26   scanf("%d",&c);
27   getchar();
28   switch(c)
29   {
30   case 1:printf("您想在多少秒后自动关闭计算机?(0~600)\n");scanf("%s",t);system(strcat(cmd,t));break;
31   case 2:system("shutdown -p");break;
32   case 3:system("shutdown -l");break;
33   case 0:break;
34   default:printf("Error!\n");
35   }
36   system("pause");
37   exit(0);
38 }

  例二:

  用C语言删除文件,例如文件的位置是d:\123.txt

  用system()函数执行windows命令。

1   #include <stdlib.h>
2   #include <stdio.h>
3   int main(void)
4   {
5   system("del d:\123.txt");
6   return 0;
7   }
时间: 2024-10-06 14:54:37

关于system()的一些用法的相关文章

C语言中system()函数的用法总结(转)

system()函数功能强大,很多人用却对它的原理知之甚少先看linux版system函数的源码: 1 #include <sys/types.h> 2 #include <sys/wait.h> 3 #include <errno.h> 4 #include <unistd.h> 5 6 int system(const char * cmdstring) 7 { 8 pid_t pid; 9 int status; 10 11 12 if(cmdstri

System.Timers.Timer用法

System.Timers.Timer t = new System.Timers.Timer(5000); //设置时间间隔为5秒 private void Form1_Load(object sender, EventArgs e)        {            t.Elapsed += new System.Timers.ElapsedEventHandler(Timer_TimesUp);            t.AutoReset = false; //每到指定时间Elap

System.Threading.Timer 用法

System.Threading.Timer用法和例子 (1)首先声明Timer变量://一定要声明成局部变量以保持对Timer的引用,否则会被垃圾收集器回收!private System.Threading.Timer timerClose; (2)在上述自动执行代码后面添加如下Timer实例化代码:// Create a timer thread and start ittimerClose = new System.Threading.Timer(new TimerCallback(tim

AWK详细用法

awk非常的优秀,运行效率高,而且代码简单,对格式化的文本处理能力超强.基本上grep和sed能干的活awk全部都能干,而且干得更好. 先来一个很爽的例子:文件a,统计文件a的第一列中是浮点数的行的浮点数的平均值.用awk来实现只需要一句话就可以搞定(当然,这个东东用python也可以很轻松的实现,只是无论如何都得新建一个文件:别妄想用bash shell来做,那可是浮点数!!!)$cat a1.021 331#.ll   442.53 6ss    7awk 'BEGIN{total = 0;

alter system register

alter system register的用法 1 Static Registration via set the listener.ora2 Dynamic Instance Registration via the PMON At instance startup time, the PMON process will use this parameter to locate a listener andinform. it of the INSTANCE_NAME and SERVICE

c# ?和?? 用法

本文不讨论:条件(三元)运算符 (?:) 本文假定你熟悉值类型.引用类型.可空化.泛型等基本概念 概念 ?:可空类修饰符,是System.Nullable<T>的简写,下面两条语句等效. private System.Nullable<System.DateTime> _SubmitDate; private DateTime? _SubmitDate; ?:空合并运算符,用于定义可空类的默认值,下面语句当_SubmitDate的值不为NULL时就取_SubmitDate 值,为N

Java反射用法

反射,一种计算机处理方式.是程序可以访问.检测和修改它本身状态或行为的一种能力. package com.demo.reflectTest; import java.lang.reflect.Array; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import ja

【JAVA】System.arraycopy()使用

参考链接: 3分钟了解Java中System.arraycopy的用法 System提供了一个静态方法arraycopy(),可以使用它来实现数组之间的复制. 函数原型: public static native void arraycopy(Object src,int srcPos,Object dest, int destPos,int length): * @param src the source array. 源数组 * @param srcPos starting position

java语言复制数组的四种方法

JAVA语言的下面几种数组复制方法中,哪个效率最高? B.效率:System.arraycopy > clone > Arrays.copyOf > for循环 1.System.arraycopy的用法: [java] view plain copy public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 参数:src - 源数组.srcPos - 源数组中的起

.Net 内存池

最近在开发 Pinpoint .Net 客户端,和服务端通信都是通过 TCP 或者 UDP,需要处理大量的 Byte 数据,使用 .Net Framework 只能通过 new Byte[] 的方式申请内存.客户端每秒钟处理的数据包非常多,通过这样方式容易导致应用程序池频繁进行 GC.刚好在Microsoft官方的github看到开源的 .Net 内存池项目,特意分享一下.传送门:https://github.com/Microsoft/Microsoft.IO.RecyclableMemory