一、清屏、定位、颜色控制
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; }