通过C语言程序修改控制台的背景和前景颜色

时间:2022-02-08 04:12:14

本文主要讲解如何通过C语言来修改dos背景和前景颜色,我们首先来看一下dos的背景颜色的属性。

  1. 打开开始菜单,点击运行,弹出运行对话框,输入cmd,回车。(打开dos控制台)
  2. 在命令提示符界面下,输入help color,弹出下图所示的提示信息。

通过C语言程序修改控制台的背景和前景颜色


3. 源程序如下:

#include<time.h>  
#include<stdlib.h>
#include<stdio.h>
#include<windows.h>
int main()
{
while (1)
{
srand(time(NULL));
int _nPreColorFlag = rand() % 10;
int _nBackColorFlag = rand() % 6;
char _cBackColorFlag;
switch(_nBackColorFlag)
{
case 0: _cBackColorFlag = 'A';
break;

case 1: _cBackColorFlag = 'B';
break;

case 2: _cBackColorFlag = 'C';
break;

case 3: _cBackColorFlag = 'D';
break;
case 4: _cBackColorFlag = 'E';
break;

case 5: _cBackColorFlag = 'F';
break;
}

char strColorFormat[2];
sprintf(strColorFormat,"color %d%c",_nPreColorFlag,_cBackColorFlag);
system(strColorFormat); //通过system函数来设置背景颜色

printf("Console Application\n");
Sleep(1000); //程序睡眠1秒
system("cls"); //清空屏幕
}
return 0;
}

程序运行效果截图:
通过C语言程序修改控制台的背景和前景颜色

提示:程序中出现的函数以及对应的头文件
函数:rand()

rand

Generates a pseudorandom number.

int rand( void );

Routine Required Header Compatibility
rand <stdlib.h> ANSI, Win 95, Win NT

函数:system()

system, _wsystem

Execute a command.

int system( const char *command);

int _wsystem( const wchar_t *command);

Routine Required Header Compatibility
system <process.h> or <stdlib.h> ANSI, Win 95, Win NT
_wsystem <process.h> or <stdlib.h> or <wchar.h> Win NT

函数:Sleep()
Sleep

The Sleep function suspends the execution of the current thread for a specified interval.

VOID Sleep(
DWORD
dwMilliseconds // sleep time in milliseconds
);

Parameters

dwMilliseconds

Specifies the time, in milliseconds, for which to suspend execution. A value of zero causes the thread to relinquish the remainder of its time slice to any other thread of equal priority that is ready to run. If there are no other threads of equal priority ready to run, the function returns immediately, and the thread continues execution. A value of INFINITE causes an infinite delay.

Return Values

This function does not return a value

在VC中Sleep中的第一个英文字符为大写的"S",

在标准C中是sleep, 不要大写,具体用什么看你用什么编译器. 简单的说VC用Sleep, 别的一律使用sleep.