巧用system函数个性化屏幕显示
函数名:system
功 能: 发出一个DOS命令
用 法: system("DOS命令");
(system函数需加头文件<stdlib.h>后方可调用。)
-----------------------------------------------------------------------------------------------------------
使用system函数,可以个性化控制台程序的屏幕窗口显示。下面介绍几个用法:
一、system("color 颜色参数")
改变屏幕窗口的背景色和文字颜色。
颜色属性由两个十六进制数字指定 -- 第一个为背景色,第二个则为文字颜色。每个数字可以为以下任何值之一:
0 = 黑色
1 = 蓝色
2 = 绿色
3 = 浅绿色
4 = 红色
5 = 紫色
6 = 黄色
7 = 白色
8 = 灰色
9 = 淡蓝色
A = 淡绿色
B = 淡浅绿色
C = 淡红色
D = 淡紫色
E = 淡黄色
F = 亮白色
如:添加代码 system("color 9F"),可以将屏幕窗口背景色设置为蓝色,文字颜色设置为白色。
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main(int argc, char *argv[]) 5 { 6 system("color 9F"); 7 printf("我的C语言程序!\n"); 8 return 0; 9 }
程序运行窗口:
注意:(1)如果只给定一个参数,则只设置背景色。如:system("color 9"),背景色为蓝色,文字颜色不变。
(2)如果没有给定任何参数,如:system("color"),该命令会将颜色还原到 CMD.EXE 启动时的默认颜色。
二、system("pause") 多数IDE工具在编译C语言程序时,会自动在main函数后面加上system("pause"),这样可以暂停程序运行,以便于在屏幕上观察程序的执行结果。但也有一些IDE工具不会自动加入这个语句,编译运行后,屏幕窗口会一闪而过,自动关闭,来不及查看程序运行结果,这时就需要在main函数中加上这个语句了。
1 #include <stdio.h> 2 #include <stdlib.h> 3 int main(int argc, char *argv[]) 4 { 5 printf("我的C语言程序!\n"); 6 system("pause"); 7 return 0; 8 }
在运行结果后面会显示:按任意键继续. . .
如果不想显示提示,可以使用输出重定向命令,将第6行代码改为:
system("pause >nul");
这样屏幕上就不再显示“按任意键继续. . .”的提示了。注意是nul,不是null。
大于号>,表示将命令结果输出重定向到文件、打印机等其他设备中。
nul是DOS中的一个虚拟的空设备。">nul"表示把命令产生的屏幕显示信息重定向(>)到虚拟空设备(nul),这样在屏幕上就不会显示pause命令的执行结果了。
三、system("cls")
清除屏幕信息。当在编程中需要清除已经显示的信息时,比如,需要循环录入学生信息,第一个学生的信息录完后,希望清除这些信息,再录入第二个学生信息,这时这个语句就派上用场了。