在C语言中,有什么好方法可以更快地改变背景颜色吗?
我想在每次按键时用不同的颜色在控制台背景上的任何地方着色,但问题是它太慢了。我认为是循环导致了问题。有没有办法加快打印速度,或者有没有更好的方法给背景上色?下面是一个例子在C语言中,有什么好方法可以更快地改变背景颜色吗?,c,windows,background-color,C,Windows,Background Color,我想在每次按键时用不同的颜色在控制台背景上的任何地方着色,但问题是它太慢了。我认为是循环导致了问题。有没有办法加快打印速度,或者有没有更好的方法给背景上色?下面是一个例子 #include<stdio.h> #include<stdlib.h> #include<windows.h> #include<conio.h> #define width 189 #define border 50 void setfullscreen() { k
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<conio.h>
#define width 189
#define border 50
void setfullscreen()
{
keybd_event(VK_MENU,0x38,0,0);
keybd_event(VK_RETURN,0x1c,0,0);
keybd_event(VK_RETURN,0x1c,KEYEVENTF_KEYUP,0);
keybd_event(VK_MENU,0x38,KEYEVENTF_KEYUP,0);
}
void setcursor(int x, int y)
{
HANDLE output =GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos = {x,y};
SetConsoleCursorPosition(output,pos);
}
int main()
{
setfullscreen();
int x=getch();
int count=3;
while(1)
{
x=getch();
for(int i=0;i<width;i++)
{
for(int j=0;j<border;j++)
{
count++;
if(j<border/2)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),count);
setcursor(i,j);
printf(" ");
}
else
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),count+50);
setcursor(i,j);
printf(" ");
}
}
}
}
}
#包括
#包括
#包括
#包括
#定义宽度189
#定义边界50
void setfullscreen()
{
keybd_事件(VK_菜单,0x38,0,0);
keybd_事件(VK_返回,0x1c,0,0);
keybd_事件(VK_返回,0x1c,KEYEVENTF_KEYUP,0);
keybd_事件(VK_菜单,0x38,KEYEVENTF_KEYUP,0);
}
void setcursor(整数x,整数y)
{
句柄输出=GetStdHandle(标准输出句柄);
坐标pos={x,y};
设置控制台位置(输出,位置);
}
int main()
{
设置全屏();
int x=getch();
整数计数=3;
而(1)
{
x=getch();
对于(int i=0;我能给我举个例子吗?我在搜索它,但仍然不知道如何使用它。