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

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

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


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;  
}  

程序运行效果截图:


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

rand

Generates a pseudorandom number.

int rand( void );

RoutineRequired HeaderCompatibility
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);

RoutineRequired HeaderCompatibility
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.
  • 6
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值