mg4355娱乐mg手机版 > mg4355娱乐mg手机版 >

而调用color函数可以改变控制台的前景色和背景

windows下system (卡塔尔 函数详细解释 

 windows操作系统下system (卡塔尔 函数精解(首假若在C语言中的应用) 函数名: system

  功能: 发出三个DOS命令

  用 法: int system(char *command);

  system函数已经被收音和录音在正规c库中,能够直接调用

  程序例:

  #include <stdlib.h>

  #include <stdio.h>

  int main(void)

  {

  printf("About to spawn command.com and run a DOS commandn");

  system("dir");

  return 0;

  }

  又如:system("pause"卡塔尔能够完毕冻结荧屏,便于观看程序的执行结果;system("CLS"State of Qatar能够兑现清屏操作。而调用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命令完结定期关机:

  #include<stdio.h>

  #include<string.h>

  #include<stdlib.h>

  int print()

  {

  printf(" ╪╪╪╪╪╪╧╧╧╧╧╧╧╧╪╪╪╪╪╪n");

  printf("╔═══╧╧ C语言 关机程序 ╧╧═══╗n");

  printf("║※1.兑现10分钟内的定期关闭Computer║n");

  printf("║※2.即时关闭计算机║n");

  printf("║※3.撤回计算机║n");

  printf("║※0.脱离系统 ║n");

  printf("╚═══════════════════╝n");

  return 0;

  }

  void main()

  {

  system("title C语言关机程序"卡塔尔;//设置cmd窗口标题

  system("mode con cols=48 lines=25"卡塔尔(قطر‎;//窗口宽度中度

  system("color 0B");

  system("date /T");

  system("TIME /T");

  char cmd[20]="shutdown -s -t ";

  char t[5]="0";

  print();

  int c;

  scanf("%d",&c);

  getchar();

  switch(c)

  {

  case 1:printf("您想在稍皮秒后活动关闭计算机?(0~600)n");scanf("%s",t);system(strcat(cmd,t));break;

  case 2:system("shutdown -p");break;

  case 3:system("shutdown -l");break;

  case 0:break;

  default:printf("Error!n");

  }

  system("pause");

  exit(0);

  }

  例二:

  用C语言删除文件,比方文件的职分是d:123.txt

  用system()函数实施windows命令。

  #include <stdlib.h>

  #include <stdio.h>

  int main(void)

  {

  system("del d:123.txt");

  return 0;

  }

Linux下system (State of Qatar 函数详细解释简单介绍

  (执行shell 命令)

  相关函数

  fork,execve,waitpid,popen

  表头文件

  #include<stdlib.h>

  定义函数

  int system(const char * string);

  函数表明

  system(卡塔尔国会调用fork(卡塔尔国产生子进度,由子进度来调用/bin/sh-c string来履行参数string字符串所表示的吩咐,此命令试行完后接着回到原调用的长河。在调用system(卡塔尔(قطر‎时期SIGCHLD 功率信号会被临时搁置,SIGINT和SIGQUIT 复信号则会被忽略。

  返回值

  假设fork(State of Qatar失败再次回到-1:现身错误

  尽管exec(卡塔尔国失利,表示不可能进行Shell,重返值相当于Shell施行了exit(127卡塔尔国

  若是施行成功则赶回子Shell的停下境况

  假诺system(卡塔尔国在调用/bin/sh时战败则赶回127,别的失败原因再次回到-1。若参数string为空指针(NULL卡塔尔国,则赶回非零值>。假设system(卡塔尔调用成功则最后会回来施行shell命令后的重临值,可是此重回值也许有异常的大也许为 system(State of Qatar调用/bin/sh战败所再次回到的127,由此最佳能(CANONState of Qatar再检查errno 来认同试行成功。

  附加表达

  在编写制定具备SUID/SGID权限的主次时请勿使用system(卡塔尔(قطر‎,system(State of Qatar会继续情状变量,通过情状变量恐怕会引致系统安全的标题。

范例

  #i nclude<stdlib.h>

  main()

  {

  system(“ls -al /etc/passwd /etc/shadow”);

  }

  实施结果:

  -rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/passwd

  -r--------- 1 root root 572 Sep 2 15 :34 /etc/shado

  例2:

  char tmp[];

  sprintf(tmp,"/bin/mount -t vfat %s /mnt/usb",dev);

  system(tmp);

  其中dev是/dev/sda1.

System与exec的区别

  1、system(卡塔尔(قطر‎和exec(卡塔尔国都足以举行进度外的下令,system是在原经过上开辟了三个新的历程,不过exec是用新进程(命令卡塔尔国覆盖了原来的长河

  2、system(卡塔尔(قطر‎和exec(State of Qatar都有能发生重返值,system的再次回到值并不影响原来进度,但是exec的再次回到值影响了原经过

上一篇:没有了
下一篇:getchar()