国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何在C語言中將文字顯示為花里胡哨的多種顏色

這篇具有很好參考價值的文章主要介紹了如何在C語言中將文字顯示為花里胡哨的多種顏色。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

????????Hello大家好!最近剛剛做完C語言的課程設(shè)計。在評分標準中有一項是展示界面美觀整潔。學前端的我對花里胡哨的界面情有獨鐘,這里為大家簡單介紹三種改變字體顏色的方法。

????????注意:本文中所有演示截圖均來自VS 2022。

目錄

?改變C語言顯示界面字體顏色的三種方式

? system顏色函數(shù)?

? \033特殊轉(zhuǎn)義字符?

?SetConsoleTextAttribute函數(shù)??


?改變C語言顯示界面字體顏色的三種方式

? system顏色函數(shù)?

????????首先介紹的是最簡單的一種更改顏色方式。但簡單的同時,他的效果不會太靈活。?

????????system?函數(shù)包含于??#include<stdlib.h>??頭文件中。設(shè)置默認的控制臺前景和背景顏色是它眾多功能之一。基本語法如下:

    system("color xy");

?????????其中,x 和 y 為兩個十六進制數(shù)字,分別用于設(shè)定背景色以及前景色(字體顏色)。注意 x 和 y 兩個字符間沒有空格也沒有逗號,格式不標準時運行程序會打印出該函數(shù)的用法。x , y可以對應(yīng)以下任意值:

0 = 黑色 4 = 紅色 8 = 灰色 C = 淡紅色
1 = 藍色 5 = 紫色 9 = 淡藍色 D = 淡紫色
2 = 綠色 6 = 黃色 A = 淡綠色 E = 淡黃色
3 = 淺綠色 7 = 白色 B = 淺淡綠色 F = 亮白色

????????如果沒有給定任何參數(shù),此命令會將顏色還原到 CMD.EXE 啟動時的顏色。這個值來自當前控制臺窗口、/T 命令行開關(guān)或 DefaultColor 注冊表值。

????????如果嘗試使用相同的前景和背景顏色來執(zhí)行COLOR 命令,COLOR 命令會將 ERRORLEVEL 設(shè)置為 1。

? ? ? ? 值得注意的是,你可能在網(wǎng)上看到過別人使用 system 函數(shù)時引用了 #include<Windows.h> 頭文件,并成功使用了 system 函數(shù)。#include<Windows.h>?主要針對操作系統(tǒng),包含大多數(shù)對系統(tǒng)有用的函數(shù),如 Sleepsystem 等。#include<stdlib.h>主要包含了一些宏指令和動態(tài)函數(shù),如free(),malloc()等。筆者猜想,兩個頭文可能包含有少數(shù)相同的函數(shù),遇到這種函數(shù)的時候,兩個頭文件用哪個都可以。(憑空猜想,歡迎評論區(qū)指正)

? ? ? ? 現(xiàn)在我們運行一下程序試試吧!

    #include<stdio.h>
    #include<windows.h>
    int main()
    {
    	system("color EC");
    	printf("這是第一行\(zhòng)n");
	    system("color 74");
	    printf("這是第二行");
	    return 0;	
    }

結(jié)果如下:?

c語言如何設(shè)置字體顏色,C語言,字體顏色,c語言,開發(fā)語言
運行結(jié)果如圖(編譯器說這個粉唧唧的顏色是白色那它就是白色)

????????哇缺!怎么回事!背景色是 7(白色),前景色是 4(紅色),代碼第五行完全沒有參與感捏!這是因為 system 函數(shù)加上 color 指令 是對整個控制臺的文本屬性進行改變,只能把整個控制臺改成一種顏色,無法達到同一頁面顯示多種顏色的效果。這也就是剛剛介紹這個函數(shù)時說“他的功能不會太靈活”的原因。那么有沒有一種方式可以更加靈活地改變字體顏色呢?為此,我們引入下面兩個方法。

? \033特殊轉(zhuǎn)義字符?

? ? ? ? ?what is \033??

? ? ? ? 八進制的 \033 即 ESC 符號,Windows 中,ESC的十進制為 \027,十六進制為 \x1b。學過 HTML 的同學可能會覺得 \033 的用法和前端的標簽有些像,常常成對兒出現(xiàn)。標準語法如下:

    \033[參數(shù)1;參數(shù)2;參數(shù)3m

? ? ? ? 該轉(zhuǎn)義字符直接應(yīng)用于printf()函數(shù)中,這串代碼生效即意味著從程序執(zhí)行到這里開始,后面所有的屏幕打印字符均以該代碼指定的效果顯示。所以一般使用\033 進行顏色改變后,應(yīng)當使用 \033[0m 進行還原。參數(shù) 1 指定顯示方式,參數(shù) 2 指定前景色(字體顏色),參數(shù) 3 指定背景色。參數(shù) 3 后緊接小寫字母 m 表示結(jié)束。相關(guān)參數(shù)值與對應(yīng)效果如下:

單值控制碼(與顏色改變無關(guān)且不能與其他控制碼同時使用)?

控制碼

效果
\033[nA 光標上移 n 行
\033[nB 光標下移 n 行
\033[nC 光標右移 n 列
\033[nD 光標左移 n 列
\033[y;xH 設(shè)置光標位置
\033[2J 清屏
\033[k 設(shè)置光標位置(y行,x列)
\033[s 保存光標位置
\033[u 恢復(fù)光標位置
\033[?25l 隱藏光標
\033[?25h 顯示光標

字體顏色(前景色)

控制碼 字體效果
\033[0m 關(guān)閉所有屬性
\033[1m 設(shè)置字體高亮度
\033[2m 低亮(減弱)顯示
\033[4m 下劃線
\033[5m 閃爍
\033[7m 反顯
\033[8m 消隱
\033[30m 黑色
\033[31m 紅色
\033[32m 綠色
\033[33m 黃色
\033[34m 藍色
\033[35m 紫色
\033[36m 淺藍色
\033[37m 白色

?背景顏色

控制碼 背景效果
\033[40m 黑色
\033[41m 紅色
\033[42m 綠色
\033[43m 黃色
\033[44m 藍色
\033[45m 紫色
\033[46m 淺藍色
\033[47m 白色

? ? ? ? ?你可能注意到了,顯示方式,前景色,背景色不同含義的數(shù)值都是唯一的且沒有重復(fù)。所以三個參數(shù)的書寫先后順序不做硬性要求,不過還是建議按照默認規(guī)范的格式書寫。三個參數(shù)可以只寫一到兩個。

? ? ? ? 下面做一個簡單的示范:

    #define _CRT_SECURE_NO_WARNINGS 1
    #include<stdio.h>
    int main()
    {
    	printf("\033[43;1m高亮文字黃色背景\n");
    	printf("這是第二行\(zhòng)033[0m\n");
	    printf("\033[43;1m高亮文字黃色背景\033[0m\n");
	    printf("這是第四行\(zhòng)033[0m\n");
	    printf("這一行\(zhòng)033[43;1m作為測試\033[0m\n");
	    return 0;
    }

?c語言如何設(shè)置字體顏色,C語言,字體顏色,c語言,開發(fā)語言

? ? ? ? \033在筆者無論藍色還是紅色的Dev C++中都無法正常工作,暫時沒有找到原因和解決辦法。有沒有大佬可以評論區(qū)解答一手?

?SetConsoleTextAttribute函數(shù)??

? ? ? ? 函數(shù)頭文件:#include<Windows.h>

? ? ? ? 和\033類似地,代碼執(zhí)行到該函數(shù)時,后面所有的屏幕打印字符均以該代碼指定的效果顯示。基本語法如下:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),前景色 | 背景色 | 前景加強 | 背景加強);

? ? ? ? 關(guān)于這個代碼的用法,請戳下面鏈接查看大佬詳解~

? ? ? ? (我就是從這位大佬這里學的這個函數(shù)的用法)?

????????戳我,看大佬的講解。

? ? ? ? 本篇文章到此就結(jié)束咯,希望能對你有所幫助。淺點一手關(guān)注,下一周分享更多能把美觀分拿滿的小技巧。

? ? ? ? 留存問題:為什么\033代碼在Dev C++中無法使用?期待在評論區(qū)得到大佬的解答。

c語言如何設(shè)置字體顏色,C語言,字體顏色,c語言,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-772261.html

到了這里,關(guān)于如何在C語言中將文字顯示為花里胡哨的多種顏色的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Ef Core花里胡哨系列(9) 陰影屬性,有用還是沒用?

    Ef Core 中提供了一些有趣的實現(xiàn),例如陰影屬性!雖然大部分時候我還沒有遇到應(yīng)用場景,但是不妨礙我們了解一下。 陰影屬性是EF Core中的一個特性,它允許你在模型中定義一個屬性,但是這個屬性并不在對應(yīng)的CLR類中。陰影屬性只存在于EF Core的模型中,你可以在查詢和保

    2024年02月03日
    瀏覽(16)
  • 一款適合程序員的 Markdown 簡歷模版,拒絕花里胡哨

    一款適合程序員的 Markdown 簡歷模版,拒絕花里胡哨

    一款適合 IT 行業(yè)的 Markdown 簡約簡歷模版,拒絕花里胡哨 (1)安裝 Markdown 編輯軟件,推薦使用?Typora?編輯器(免費版 Typora 百度網(wǎng)盤下載點此下載)。 (2)下載本項目,修改?Resume.md?文件即可。 (3)將 style 文件夾下的所有的.css 復(fù)制到 Typora 的主題文件夾 (4)主題文件

    2024年02月06日
    瀏覽(22)
  • Ef Core花里胡哨系列(5) 動態(tài)修改追蹤的實體、動態(tài)查詢

    同樣還是 IModelCacheKeyFactory ,不過這次要采用主動刷新的方式。 動態(tài)實體,根據(jù)配置等生成動態(tài)類型來當作數(shù)據(jù)庫實體使用,當配置修改時,可以調(diào)用 DynamicModelCacheKeyFactory.Refresh() 刷新DbContext。 動態(tài)構(gòu)建部分不提供,我們將在其它的地方進行討論。 我這里做了簡化處理,直

    2024年02月03日
    瀏覽(21)
  • MATLAB | 這些各種各樣的花里胡哨的折線填充圖咋畫

    MATLAB | 這些各種各樣的花里胡哨的折線填充圖咋畫

    這些各種各樣的花里胡哨的折線填充圖咋畫? 折線下面填充純色的話area函數(shù)很容易做到,但上面那些各種花里胡哨的填充圖就沒那么容易做到了,本期就來講講這些玩意都是咋畫的: 事先說明,為了繪圖好看本文絕大多數(shù)圖像都使用如下函數(shù)進行修飾: 二維填充所用到的數(shù)

    2023年04月16日
    瀏覽(27)
  • 【一步教學,一步到位】花里胡哨的3D翻頁卡片,隔壁產(chǎn)品都饞哭

    【一步教學,一步到位】花里胡哨的3D翻頁卡片,隔壁產(chǎn)品都饞哭

    with(cardShadowSizeFunc!!) { inParamMin = 0F inParamMax = 180F outParamMax = 50F outParamMin = 0F initValue = 10F } cardShadowDistanceFunc = CardShadowDistanceFunc() with(cardShadowDistanceFunc!!) { inParamMin = 0F inParamMax = 180F outParamMax = 50F outParamMin = 0F initValue = 10F } } 復(fù)制代碼 2.5.3 陰影變化 為了更好地模擬3D效果,卡片陰影

    2024年04月14日
    瀏覽(25)
  • flutter中文字長度溢出時如何顯示省略號?

    經(jīng)常在繪畫UI的時候遇到這種問題,依據(jù)場景不同,說下我自己的常用方案: 1. 第一種就是給Text標簽外層嵌套一層Container,并指定width寬度 2.第二種是自動適配模式,我常用于Text外層嵌套了Row和Column以及一些布局控件中

    2024年02月15日
    瀏覽(31)
  • 第五十六回:如何在Button中同時顯示文字和圖標

    我們在上一章回中介紹了命名路由相關(guān)的內(nèi)容,本章回中將介紹 如何在Button中同時顯示文字和圖標 .閑話休提,讓我們一起Talk Flutter吧。 我們在項目中的使用Button大部分是文字形式的按鈕,就是在按鈕上面顯示文字,通過文字來了解按鈕的功能。也有一部分是圖標形式的按鈕

    2024年02月09日
    瀏覽(32)
  • QT 如何讓QLineEdit的文字從最左邊開始顯示

    QT 如何讓QLineEdit的文字從最左邊開始顯示

    當QLineEdit的文字長度超過了控件寬度,一般而言(控件文字設(shè)為靠左對齊),用戶只能看到這一長串文字的后半段部分。但是如果想讓QLineEdit從最左邊開始顯示字符串內(nèi)容呢? 舉個例子,\\\"abcdefghijklmnopqrstuvwxyz0123456789\\\"這一長串字符串,在QLineEdit中顯示時,可能只能看到“012

    2024年01月18日
    瀏覽(40)
  • iOS16圖標文字陰影如何去掉?分享陰影不顯示的方法!

    iOS16圖標文字陰影如何去掉?分享陰影不顯示的方法!

    更新到iOS16正式版的iPhone用戶,發(fā)現(xiàn)繼續(xù)使用自己喜歡的淺色壁紙時, 每個APP圖標下方文字都出現(xiàn)了陰影 。 如上圖中所示,iOS16的圖標文字陰影,應(yīng)該是蘋果開發(fā)為了在 淺色背景下凸出APP名稱 而設(shè)計的。但部分iPhone用戶紛紛表示,這樣的UI設(shè)計確實無法接受。 iOS16淺色壁紙

    2024年01月21日
    瀏覽(13)
  • Ant Design Vue 中將 Table 表格中的數(shù)字類型轉(zhuǎn)換為文字的方法詳解

    在使用 Ant Design Vue 開發(fā)時,有時需要將 Table 表格中的數(shù)字類型字段轉(zhuǎn)換為對應(yīng)的文字表示,以提供更直觀的數(shù)據(jù)展示。本文將詳細介紹在 Ant Design Vue 中將 Table 表格中的數(shù)字類型轉(zhuǎn)換為文字的方法,幫助您靈活地處理數(shù)據(jù)展示需求。 在實際的應(yīng)用中,我們經(jīng)常會遇到需要將

    2024年02月11日
    瀏覽(49)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包