打印
[C语言]

Printf打印字符到指定位置,且可以指定颜色显示

[复制链接]
530|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一路向北lm|  楼主 | 2020-6-2 20:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<windows.h>
#include<stdio.h>

//设置文字颜色枚举结构
typedef enum
{
        BLACK = 0,
        BLUE,
        GREEN,
        GYAN,
        RED,
        MAGENTA,
    BROWN,
    LIGHTGRAY,
    DARKGRAY,
    LIGHTBLUE,
    LIGHTGREEN,
    LIGHTCYAN,
    LIGHTRED,
    LIGHTMAGENTA,
    YELLOW,
    WHITE
}Text_Color;

使用特权

评论回复

相关帖子

沙发
一路向北lm|  楼主 | 2020-6-2 20:42 | 只看该作者
// 对于Windows 平台
void gotoxy(int x,int y)
{
        COORD pos = {x,y};
        HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleCursorPosition(hOut,pos);
}

//设置文字颜色
// 0 - BLACK 黑
// 1 - BLUE 兰
// 2 - GREEN 绿
// 3 - CYAN 青
// 4 - RED 红
// 5 - MAGENTA 洋红
// 6 - BROWN 棕
// 7 - LIGHTGRAY 淡灰
// 8 - DARKGRAY 深灰
// 9 - LIGHTBLUE 淡兰
// 10 - LIGHTGREEN 淡绿
// 11 - LIGHTCYAN 淡青
// 12 - LIGHTRED 淡红
// 13 - LIGHTMAGENTA 淡洋红
// 14 - YELLOW 黄
// 15 - WHITE 白
void SetColor(int ForgC)
{
     WORD wColor;
     //We will need this handle to get the current background attribute
     HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
     CONSOLE_SCREEN_BUFFER_INFO csbi;

    //We use csbi for the wAttributes word.
        if(GetConsoleScreenBufferInfo(hStdOut, &csbi))
        {
        //Mask out all but the background attribute, and add in the forgournd color
        wColor = (csbi.wAttributes & 0xF0) + (ForgC & 0x0F);
        SetConsoleTextAttribute(hStdOut, wColor);
    }
}
// 打点函数
void ponit(int x,int y,char color)
{
   gotoxy(x,y);
   SetColor(color);
   printf(".");
}
//清屏函数
void clear_display()
{
  system("cls");
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

275

主题

3784

帖子

76

粉丝