2014-11-23 106 views
0

有沒有辦法給數組中的一個元素着色?將顏色應用於C中數組中的特定元素

說,我的2D陣列是這樣的:

main() 
{ 
int x,y; 
char arr[3][3]; 
for (x=0;x<3;x++) 
for (y=0;y<3;y++) 
arr[x][y]='a'; 

arr[1][1]='b'; 
for (x=0;x<3;x++) 
for (y=0;y<3;y++) 
printf("%c", arr[x][y]); 
} 

如何將顏色應用到只有字符 'b' 位於ARR [1] [1]?

+3

顏色的元素? :/ – Maroun 2014-11-23 08:58:04

+0

你的意思是像#ffffff這樣的顏色代碼嗎? – Rizier123 2014-11-23 09:01:38

+0

[C中的stdlib和彩色輸出]的可能重複(http://stackoverflow.com/questions/3219393/stdlib-and-colored-output-in-c) – Tarik 2014-11-23 12:24:37

回答

0

我找到了解決辦法。這是Windows的。如果你的情況和我一樣,那麼我就是這麼做的。 我this question

使用SetConsoleTextAttribute()函數,得益於很好的答案,所以我的代碼是

#include <windows.h> 
#include <stdio.h> 

main 
{ 
enter code here 
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); 
CONSOLE_SCREEN_BUFFER_INFO consoleInfo; 
WORD saved_attributes; 
char arr[3][3]; 
for (x=0;x<3;x++) 
for (y=0;y<3;y++) 
arr[x][y]='a'; 
arr[1][1]='b'; 
for (x=0;x<3;x++) 
for (y=0;y<3;y++) 
{ 
if (arr[x][y]=='b') 
{ 
SetConsoleTextAttribute(hConsole, FOREGROUND_RED); 
printf("%c", arr[x][y]); 
SetConsoleTextAttribute(hConsole, saved_attributes); 
} 
else 
{ 
printf("%c", arr[x][y]); 
} 
} 
相關問題