2012-05-31 16 views
1

這可能嗎?將顏色添加到C中的文字帶流血衝浪

我知道這是可能在使用彩色##

命令提示符,但使用的流血事件是有可能用C?

謝謝,

+3

可能是這個緣故。便攜式,不。流血事件與此無關。這是爲您正在使用的控制檯輸出適當的轉義序列的問題。 –

+0

流血的類型確實與它有關 - IDE使用mingw,可能也是cygwin終端;如果是的話,ANSI序列將起作用。 – delicateLatticeworkFever

回答

1

如果你使用* nix,osx或者在Windows上使用cygwin msys,你的終端應該支持Fred Larson提到的ANSI序列(不知道osx)。正常的Windows終端沒有。但是流血可以使用cygwin,所以你很幸運。

下面是一個例子:

#include <stdio.h> 

#define BOLDMAGENTA "\033[1;35m" 
#define BOLDGREEN "\033[1;32m" 

int main(void) { 
    printf("%shello %sworld\n", BOLDMAGENTA, BOLDGREEN); 
    return 0; 
} 

注意,這葉亮綠色的終端,但如果你的提示設置顏色,將被重置。

下面是ANSI轉義代碼一些解釋: http://en.wikipedia.org/wiki/ANSI_escape_code

2

什麼操作系統?你有什麼終端可用?請注意,這與C無關,更不用說流血了。您輸出一個字符串,終端可以選擇或不選擇將其解釋爲顏色。你必須看到如何與你的終端做到這一點。當然,解決方案不是便攜式的。對於終端支持的轉義序列的一個例子是

printf("\\x1b[1;33mThis is yellow\\x1b[m(Back to default)\n"); 

您可能感興趣的ANSI terminal's color escape sequences

您可能還需要尋找那些庫,對終端的數量有限。例如,ncurses可以在Linux中幫助你。

+1

這些與bash沒有任何關係,它是(ANSI兼容的)終端bash在內部運行的。由於通常情況下,.bashrc文件經常將它們與PS env變量一起使用。 – delicateLatticeworkFever

+0

@goldilocks,你是對的,終端是理解顏色的人。我會解決這個問題 – Shahbaz