從多個方面詳細闡述conio

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/zh-hk/n/282837.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 08:06
下一篇 2024-12-22 08:06

相關推薦

發表回復

登錄後才能評論