conio.h不包含textcolor()?

时间:2011-12-30 00:56:18

标签: c windows header dos

我一直在寻找在我用C编写的DOS程序中使用颜色。我被告知conio.h有textcolor()函数,但是当我在我的代码中使用它时,编译器/链接器抛出我的错误说我对该函数有一个未定义的引用。

conio.h实际上是否具有此功能还是我被告知了公牛?

谢谢:)

2 个答案:

答案 0 :(得分:0)

检查textcolor library库,它可能就是您需要的。

示例,说明如何使用它:

#include<stdio.h>
#include<conio.h>
main()
{
   textcolor(RED);
   cprintf("C programming");

   getch();
   return 0;
}

答案 1 :(得分:0)

否,conio.h库未定义textcolor函数。 可以定义该功能的方法之一是以下方法(包括windows.h库):

void textcolor (int color)
{
    static int __BACKGROUND;

    HANDLE h = GetStdHandle ( STD_OUTPUT_HANDLE );
    CONSOLE_SCREEN_BUFFER_INFO csbiInfo;


    GetConsoleScreenBufferInfo(h, &csbiInfo);

    SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),
                             color + (__BACKGROUND << 4));
}