2012-02-06 28 views
13

Có cách nào để in đầu ra màu bằng cách sử dụng iostream và Xcode không? Ví dụ: tôi muốn có thể in Hello World! với Hello màu đỏ, World màu xanh dương và ! màu vàng. Làm thế nào tôi có thể làm điều đó?Sản lượng màu trong C++

+1

bản sao có thể có (ít nhất là có liên quan) http://stackoverflow.com/questions/7414983/how-to-use-the-ansi-escape-code-for-outputting-colored-text-on-console –

+0

Đọc chủ đề này http://www.daniweb.com/software-development/cpp/threads/9921 –

+0

Xem http://ascii-table.com/ansi-escape-sequences.php –

Trả lời

38

Bạn cần mã màu của thiết bị đầu cuối. Đối với Linux đó là sau (hệ thống của bạn có thể khác nhau, nhìn nó lên):

//the following are UBUNTU/LINUX ONLY terminal color codes. 
#define RESET "\033[0m" 
#define BLACK "\033[30m"  /* Black */ 
#define RED  "\033[31m"  /* Red */ 
#define GREEN "\033[32m"  /* Green */ 
#define YELLOW "\033[33m"  /* Yellow */ 
#define BLUE "\033[34m"  /* Blue */ 
#define MAGENTA "\033[35m"  /* Magenta */ 
#define CYAN "\033[36m"  /* Cyan */ 
#define WHITE "\033[37m"  /* White */ 
#define BOLDBLACK "\033[1m\033[30m"  /* Bold Black */ 
#define BOLDRED  "\033[1m\033[31m"  /* Bold Red */ 
#define BOLDGREEN "\033[1m\033[32m"  /* Bold Green */ 
#define BOLDYELLOW "\033[1m\033[33m"  /* Bold Yellow */ 
#define BOLDBLUE "\033[1m\033[34m"  /* Bold Blue */ 
#define BOLDMAGENTA "\033[1m\033[35m"  /* Bold Magenta */ 
#define BOLDCYAN "\033[1m\033[36m"  /* Bold Cyan */ 
#define BOLDWHITE "\033[1m\033[37m"  /* Bold White */ 

này cho phép bạn làm như sau:

std::cout << RED << "hello world" << RESET << std::endl; 

Lưu ý: Nếu bạn không sử dụng thiết lập lại màu sẽ vẫn được thay đổi cho đến lần tiếp theo bạn sử dụng mã màu.

+0

Anh ấy đang ở trên Mac OS (ít nhất tôi đoán anh ấy là, vì anh ấy đề cập đến XCode) nên việc này sẽ hiệu quả. –

+8

Nó sẽ hoạt động trong Thiết bị đầu cuối, nhưng không phải trong cửa sổ bảng điều khiển Xcode –

+0

@ shuttle87, cảm ơn câu trả lời của bạn. Làm thế nào tôi có thể thiết lập thay vì 3 biến với 3 màu sắc khác nhau, chẳng hạn như 'char hello = 'H'',' char world =' W'' và 'char ex = '!'' Được tô màu khác nhau? – Shoe

Các vấn đề liên quan