本文主要解说怎样通过C语言来改动dos背景和前景颜色。我们首先来看一下dos的背景颜色的属性。
打开開始菜单,点击执行,弹出执行对话框。输入cmd,回车。
(打开dos控制台)
在命令提示符界面下,输入help color,弹出下图所看到的的提示信息。
3. 源程序例如以下:
#include
#include
#include
#include
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
");
Sleep(1000); //程序睡眠1秒
system("cls");//清空屏幕
}
return 0;
}
程序执行效果截图:
提示:程序中出现的函数以及相应的头文件
函数:rand()
rand
Generates a pseudorandom number.
int rand( void );
Routine
Required Header
Compatibility
rand
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
or
ANSI, Win 95, Win NT
_wsystem
or or
Win NT
函数:Sleep()
Sleep
The Sleep function suspends the execution of the current thread for a specified interval.
VOID Sleep(
DWORDdwMilliseconds // 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.