日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

用VC++实现console程序显示彩色文本

發(fā)布時間:2025/3/15 c/c++ 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用VC++实现console程序显示彩色文本 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
用VC++實現(xiàn)console程序顯示彩色文本

  用vc++寫console程序時,整天對著黑紙白字的屏幕,感覺很郁悶吧?很多人想用CONIO.H/GRAPHICS.H中的一些函數(shù)來實現(xiàn),卻發(fā)現(xiàn)VC++根本沒有這些頭文件。當然了CONIO.H/GRAPHICS.H是BORLAND TC/BC專有的頭文件,所以vc++中根本沒有這些文件。把這兩個頭文件COPY過來,然后用??答案當然是否定的。其實VC++中也有相關的函數(shù)來實現(xiàn)console彩色文本及背景的顯示。下面我們就看看VC++如何實現(xiàn)彩色文本。

  在vc++用API函數(shù)GetStdHandle()和SetConsoleTextAttribute()來實現(xiàn)彩色背景及彩色文本。下面說一下這兩個函數(shù)聲明及其參數(shù)的含義。首先說GetStdHandle(),其聲明如下

HANDLE GetStdHandle(
  DWORD nStdHandle
  );
?
  
  GetStdHandle()返回標準的輸入、輸出或錯誤的設備的句柄,也就是獲得輸入、輸出/錯誤的屏幕緩沖區(qū)的句柄。 其參數(shù)nStdHandle的值為下面幾種類型的一種:
值        含義
STD_INPUT_HANDLE 標準輸入的句柄
STD_OUTPUT_HANDLE 標準輸出的句柄
STD_ERROR_HANDLE 標準錯誤的句柄

  函數(shù)SetConsoleTextAttribute()的作用是在console程序設置輸入或輸出文本的文本顏色和背景顏色。只有在此函數(shù)設置后才能顯示彩色的文本。其函數(shù)原型為:
  BOOL SetConsoleTextAttribute(
  HANDLE hConsoleOutput, // console 屏幕緩沖區(qū)的句柄
  WORD wAttributes // 文本及背景的顏色
  );

  如果函數(shù)設置文本及背景顏色成功,則返回非零;如失敗返回零。其參數(shù)含義如下:
  hConsoleOutput------------- console 屏幕緩沖區(qū)的句柄。
  WORD wAttributes-----------文本及背景的顏色。
  其文本與背景顏色可以是 FOREGROUND_BLUE, FOREGROUND_GREEN, FOREGROUND_RED, FOREGROUND_INTENSITY, BACKGROUND_BLUE, BACKGROUND_GREEN, BACKGROUND_RED, and BACKGROUND_INTENSITY.和用這幾種顏色組合成的任意一種顏色(這一點有點類似于RGB)至于如何組合,我不知道 。
  下面,我們就來寫一個類似又TC下settextcolor相似功能的函數(shù)SetColor(),不過下面的函數(shù)可以同時設置背景顏色,函數(shù)的實現(xiàn)如下:
void SetColor(unsigned short ForeColor,unsigned short BackGroundColor)
  {
  HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
    //獲得緩沖區(qū)句柄
  SetConsoleTextAttribute(hCon,ForeColor BackGroundColor);
    //設置文本及背景顏色
  };

  有了上面的函數(shù)我們就可以實現(xiàn)彩色文本和背景了,給自己的程序一個與眾不同的輸出和提示。下面我們來實現(xiàn)一個彩色的Hello World!。程序如下:

#include
    //GetStdHandle和SetConsoleTextAttribute在頭文件windows.h中
  #include
  using namespace std;
  void SetColor(unsigned short ForeColor=4,unsigned short BackGroundColor=0)
  //給參數(shù)默認值,使它  
  //可以接受0/1/2個參數(shù)
  {
  HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); //本例以輸出為例
  SetConsoleTextAttribute(hCon,ForeColor BackGroundColor);
  };

  int main()
  {

  SetColor();
  std::cout<<"Hello world!"<
  SetColor(40,30);
  std::cout<<"Hello world!"<
   return 0;
  }

  這樣一個彩色的Hello world!程序就寫好了。

  當然,你可以用這個函數(shù)讓在你的程序在適當?shù)牡胤斤@示一些特殊的輸出或提示信息,這樣你的程序就“與眾不同”了。

總結(jié)

以上是生活随笔為你收集整理的用VC++实现console程序显示彩色文本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲男人天堂久久 | 97人妻精品一区二区三区免 | 久久99婷婷 | 男女操网站 | 国产青青| 一区二区欧美在线观看 | 日本电影大尺度免费观看 | √天堂中文官网8在线 | 极品探花在线 | 在线观看av大片 | 国产精品不卡一区二区三区 | 国产寡妇色xxⅹ交肉视频 | 91国产免费视频 | 亚洲美女视频网站 | 潘金莲一级淫片免费放动漫 | 国模小丫大尺度啪啪人体 | 欧美日韩观看 | 五月天看片 | 特大黑人娇小亚洲女mp4 | 一区二区在线播放视频 | 久久亚洲一区二区三区四区 | 摸摸大奶子 | 免费超爽大片黄 | 欧美 亚洲 另类 偷偷 自拍 | 无码国产精品一区二区免费式直播 | 麻豆自拍偷拍 | 日韩 国产 欧美 | 免费aa视频 | 激情xxx| 女人看黄色网 | 国产成人精品在线播放 | 好吊色一区二区 | 午夜精品一区二区三区在线观看 | 人妻无码一区二区三区久久 | 欧美人与性囗牲恔配 | 在线看日韩av | 欧美三级免费观看 | 性日韩| 青娱乐免费在线视频 | 免费亚洲一区 | 亚洲视频在线观看免费视频 | 欧美日韩一二三 | 欧美日韩高清免费 | 秒拍福利视频 | 男女插插视频 | 欧美 日韩 国产 中文 | 亚洲天堂av一区 | а√在线中文网新版地址在线 | 3d动漫啪啪精品一区二区中文字幕 | 国内成人自拍视频 | 欧美在线视频你懂的 | 成人免费视频播放 | 日本免费一区二区视频 | 欧美一区二区三区啪啪 | 欧美做受高潮1 | www.浪潮av.com | 五月天丁香视频 | 男生插女生的视频 | 国产做爰全免费的视频软件 | 国产乱淫av| 欧洲自拍偷拍 | 欧美一区二区三区啪啪 | 中文字幕第4页 | 国产精品香蕉国产 | 三级网站在线免费观看 | 国产一级性生活片 | 偷拍视频一区二区 | 香蕉久久夜色 | 国产青青青 | 国精产品一二三区精华液 | 中文字幕第一页在线 | 青青青操 | 在线观看一区二区三区四区 | 人妻天天爽夜夜爽一区二区三区 | 精品人妻一区二区三区久久 | 日本视频免费在线 | 久久aⅴ乱码一区二区三区 亚洲成人18 | 黄色三级网站在线观看 | 亚洲av永久无码精品三区在线 | 丝袜性爱视频 | 三叶草欧洲码在线 | 成人3d动漫一区二区三区91 | 国产在线观看一区 | 国产日韩免费视频 | 亚洲精品一区二区三区四区 | 国产成人精品一区二区三区网站观看 | 国产精品后入内射日本在线观看 | 欧美色图11p | 涩涩视频免费在线观看 | 丝袜国产一区 | 成人免费三级 | 日韩视频网址 | 亚洲精品免费电影 | 久久久久久久人妻无码中文字幕爆 | 99在线免费视频 | 懂色一区二区三区 | 亚洲精品无码久久久久久久 | 捆绑裸体绳奴bdsm亚洲 | 亚洲一区中文 |