函数概念

  system()—执行shell命令也就是向dos发送一条指令。

相关函数:fork, execve, waitpid, popen头文件:#include <stdlib.h>定义函数:int system(const char * string);

  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=亮白色

函数说明

  system()会调用fork()产生子进程, 由子进程来调用/bin/sh-c string 来执行参数string 字符串所代表的命令, 此命令执行完后随即返回原调用的进程. 在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT 和SIGQUIT 信号则会被忽略.

返回值

  1、如果 system()在调用/bin/sh 时失败则返回127, 其他失败原因返回-1.。
  2、若参数string 为空指针(NULL), 则返回非零值.
  3、如果system()调用成功则最后会返回执行shell 命令后的返回值, 但是此返回值也有可能为system()调用/bin/sh 失败所返回的127, 因此最好能再检查errno 来确认执行成功.

作者:꧁执笔小白꧂