某些函数在较新的编译器中不起作用 我使用Turbc++,我已经更改为Visual Studio Express 2012,用于Windows桌面,甚至尝试过DEV C++。 我在两个较新的编译器中都遇到了错误,但在turbo C中没有++ struct date d; sleep(3);
我想知道这些功能的替代方案 为了进一步改变背景和前景颜色,我被告知使用某些函数在较新的编译器中不起作用 我使用Turbc++,我已经更改为Visual Studio Express 2012,用于Windows桌面,甚至尝试过DEV C++。 我在两个较新的编译器中都遇到了错误,但在turbo C中没有++ struct date d; sleep(3);,c,visual-studio,sleep,turbo-c++,C,Visual Studio,Sleep,Turbo C++,我想知道这些功能的替代方案 为了进一步改变背景和前景颜色,我被告知使用 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_RED); 这些工作非常好,但事实是,它只有有限数量的颜色(每3个,我想) 比如,我不能把文本颜色改成白色!如何操作???您可以定义新颜色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_RED);
这些工作非常好,但事实是,它只有有限数量的颜色(每3个,我想)
比如,我不能把文本颜色改成白色!如何操作???您可以定义新颜色并将其用作现有颜色
#define FOREGROUND_WHITE (FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN)
下面的代码将打印前景色和背景色的不同组合根据结果,根据需要传递值
for(i=0; i<255; i++)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), i);
printf("NEW COLOUR=%d\n",i);
}
用于(i=0;首先,如果您有关于生成错误的问题,请将其包含在未编辑和完整的问题中。其次,不要在一个问题中放置两个不相关的问题。对于睡眠
,请参见先生,我不想要随机数,但我只是按照您所说的方式定义了前景白,然后将其用作其他问题,它就起作用了!请通过定义告诉我如何使用其他颜色;如黑色背景或任何地方的任何颜色!!???好的,添加了一个示例。
#include<stdio.h>
#include<windows.h>
/*
//0-black
//1-blue
//2-green
// ......
//15-white
//0-15-black back ground, text colour as above 0-black,15-white
//16-31blue back ground, text colour as above 16+0 -black 16+15-white
//32-47green back ground, text colour as above 32+0 -black 32+15-white
// ......
//240-white back ground, text colour as above 240+0 -black 240+15-white
*/
int main()
{
int i;
for(i=0; i<256; i++) //loop to print text colours 0-15 total 16 colours
{
// Sleep( 3000 ); // sleep three seconds
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), i);
printf("Text colour=%d\n",i);
}
system("pause");
for(i=0; i<256; i=i+8) //background colours 0-15 total 16 back grounds
{
// Sleep( 3000 ); // sleep three seconds
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), i);
printf("Back ground=%d\n",i);
}
system("pause");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0+15); //white text +black background
system("pause");
}