conio是C语言中的一个头文件,可以在控制台模式下提供一系列UI界面处理函数,包括清除、定位、输入输出、颜色控制等。接下来将从多个方面进行详细阐述。
一、清屏、定位、颜色控制
conio提供了多种清屏、定位、颜色控制函数,如下:
#include <conio.h> void clrscr(void); //清屏 void clreol(void); //清除从光标到行末的内容 void clrtoeol(void); //清除从光标到屏幕底部的内容 void gotoxy(int x, int y); //将光标定位到(x,y)处 void textattr(int attr); //设置文本颜色
其中文本颜色可以通过以下宏定义进行设置:
#define _NORM 0x07 //白底黑字 #define _BLINK 0x80 //闪烁 #define _RED 0x04 //红色 #define _GREEN 0x02 //绿色 #define _CYAN 0x03 //青色 #define _YELLOW 0x06 //黄色 #define _MAGENTA 0x05 //洋红 #define _GRAY 0x08 //灰色
可以使用以下代码进行简单示例:
#include <stdio.h>
#include <conio.h>
int main()
{
clrscr(); //清屏
textattr(_RED); //设置文本颜色为红色
gotoxy(10,10); //光标定位到(10,10)处
printf("Hello, world!");
getch(); //等待输入
return 0;
}
二、字符输入输出
conio提供了多种字符输入输出函数,如下:
int getch(void); //从键盘读入一个字符,不显示在屏幕上 int getche(void); //从键盘读入一个字符,显示在屏幕上 int putch(int c); //向屏幕输出一个字符 int ungetch(int ch); //将一个字符退回到输入缓冲区中
可以使用以下代码进行简单示例:
#include <stdio.h>
#include <conio.h>
int main()
{
char ch;
printf("Please enter a character:");
ch = getch(); //从键盘读入一个字符,不显示在屏幕上
printf("\nYou entered: ");
putch(ch); //向屏幕输出一个字符
getch();
return 0;
}
三、字符串输入输出
conio提供了多种字符串输入输出函数,如下:
char* gets(char* str); //从键盘读入一个字符串,存储到str中 int puts(const char* str); //向屏幕输出一个字符串
其中gets函数的使用需要注意,应该指定str字符数组的长度以避免越界。可以使用以下代码进行简单示例:
#include <stdio.h>
#include <conio.h>
int main()
{
char str[20];
printf("Please enter a string:");
gets(str); //从键盘读入一个字符串,存储到str中
printf("\nThe string you entered is: ");
puts(str); //向屏幕输出一个字符串
getch();
return 0;
}
四、图形界面处理
conio提供了一些图形界面处理函数,如下:
void putpixel(int x, int y, int color); //设置像素点的颜色 void rectangle(int left, int top, int right, int bottom); //绘制矩形 void line(int x1, int y1, int x2, int y2); //绘制直线 void circle(int x, int y, int radius); //绘制圆形
可以使用以下代码进行简单示例:
#include <stdio.h>
#include <conio.h>
void draw_border()
{
rectangle(0,0,79,24); //绘制边框
gotoxy(2,1); //定位到标题位置
textattr(_RED|_BLINK); //设置标题的颜色
puts(" Conio Graphics Demo "); //输出标题
}
int main()
{
int i;
clrscr(); //清屏
draw_border(); //绘制边框和标题
textattr(_YELLOW); //设置文本颜色为黄色
for(i=5;i<20;i++)
putpixel(i,10,_YELLOW); //绘制像素点
line(10,8,30,8); //绘制直线
circle(40,16,6); //绘制圆形
getch(); //等待输入
return 0;
}
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/282837.html
微信扫一扫
支付宝扫一扫