2016-05-13 12 views
-2

Hy Jungs, ich muss auf Standard OUTPUT eine farbige Zeichenfolge schreiben mit dem Systemaufruf write() in C-Sprache, ist es möglich? Danke.Drucken Sie eine farbige Zeichenfolge mit Systemaufruf write() in C

+1

Es ist möglich, in der Regel ... aber genau wie zu tun Es hängt stark von Ihren System- und Terminaleinstellungen ab. – Dmitri

+1

@Siguza Die Shell hat damit nichts zu tun, die Interpretation der Farbcodes erfolgt über den Terminal- oder Terminal-Emulator. – Barmar

+0

Es gibt keine standardmäßige Möglichkeit, dies in C zu tun. Unter Unix können Sie die 'termcap'-Bibliothek verwenden, um nach den Steuersequenzen zu suchen, um die Farbe zu ändern. – Barmar

Antwort

0

Wie andere erwähnt, hängt es von Ihrem OS/Shell ab. Eine einfache Lösung für die Verwendung von ANSI-Farben wäre:

char *str = "\e[32;40m Hello World"; // A green string on a black background 
write(fd, str, strlen(str)); 

Beachten Sie, dass die Anschluss Farben zurückgesetzt haben, nachdem eine farbige Schnur Druck ...

+0

Danke, es funktioniert für mich, mit Bash auf OS X. – sgira

+0

cool, möchten Sie dies als richtige Antwort auswählen? – mame98

Verwandte Themen