EasyX如何接收並顯示從控制檯輸入的數字和英文
自學EasyX,由於Easyx繪圖庫裏執行不了cin和cout函數,無法通過此方法實現從控制檯顯示輸入的數字和英文
對這個問題困擾很久找不到其他易懂的辦法所以一直解決不了。相信很多人也都跟我一樣,恰好上次找到了笨方法,就把它分享給大家~
1.首先需將字符集設置爲多字符集
2.其次先看代碼
#include<iostream>
#include<graphics.h>
#include<string>
#include<conio.h>
using namespace std;
int main()
{
//設置窗口大小 背景顏色
initgraph(480, 480);
setbkcolor(WHITE);
cleardevice();
//設置字體顏色 還有測試顯示字體
settextcolor(BLACK);
settextstyle(25, 0, "黑體");
outtextxy(10, 220, "顯示內容:");
string str1,str2; //頭文件 string
//str1用來放c的總內容 str2每次存放“顯示內容:”+str1,方便輸出
char c; //定義字符c接收鍵盤輸入
while ((c = _getch()) != '\r') //如果沒按回車,接收一個c
{ //getch()頭文件 conio.h
str2 = "";
if (c == '\b') //如果c是退格符,str1刪掉一個
{
str1 = str1.substr(0, str1.size() - 1);
}
else{
str1 += (int)c;
}
str2 = "顯示內容:" + str1;
cleardevice();
outtextxy(10, 220, str2.c_str()); //在窗口座標爲(10,220)的地方開始輸出str2的內容
}
while (1); //結束不跳出
}
說明:這裏str1拿來存放getch()得到的總內容, str2用來存放 顯示內容+str1,一定要區分
運行結果:輸入Easy.X
由於getch()每次只接收一個字符,所以它只能顯示接收輸入的字符和數字,並不能顯示漢字,聽說drawtext()可以解決,可一直找不到其他辦法,要是有看到或者有其他方法也要共享一下給我哦