Farbige Buchstaben in einer Konsolenanwendung



  • Hallo Leute!

    Ich möchte in meinem Code farbige Buchstaben in einer normalen
    Konsolenanwendung ausgeben.

    Ich weiß dass es nicht viel Sinn macht da man die Farbe benutzerdefiniert
    gestalten kann.

    Dennoch würde ich gerne mal wissen ob es möglich ist.

    Am liebsten mit ANSI C Methoden damit es portabel bleibt.

    Danke



  • Nabend,

    ich habe letztlich mal hiermit http://pdcurses.sourceforge.net/ rumgespielt und es lief ganz gut. Ist für deine Verhältnisse vielleicht etwas zu viel Schnickschnack für die Konsole. Ist leider kein ANSI-C, soweit ich weiß bekommste sowas auch nicht portable hin per ANSI.

    Gruß Chris



  • justchris schrieb:

    Nabend,

    ich habe letztlich mal hiermit http://pdcurses.sourceforge.net/ rumgespielt und es lief ganz gut. Ist für deine Verhältnisse vielleicht etwas zu viel Schnickschnack für die Konsole. Ist leider kein ANSI-C, soweit ich weiß bekommste sowas auch nicht portable hin per ANSI.

    Gruß Chris

    Uff ist das umständlich. Ich habe folgendes für Linux und C++ gefunden:

    #include <iostream>
    
    using namespace std;
    
    void printGreen(string word){
    
            cout << "\033[32m";
            cout << word << endl;
            cout << "\033[39m";
    }
    
    void printBlue(string word){
    
            cout << "\033[34m";
            cout << word << endl;
            cout << "\033[39m";
    }
    
    int main(void){
    
            printRed("Mulitcolor");
            printGreen("Mulitcolor");
            cout << "Alles wieder normal" << endl;
            return 0;
    }
    

    Vielleicht gibt es etwas ähnliches in C und Plattformunabhängig



  • Hmm,

    deine Escape-Sequenzen für Linux kannste glaube ich so nicht unter Windows nutzen.

    Entweder nutzt du da wie oben beschrieben eine Lib, oder du musst selbst ran und Code für die Plattformen schreiben und per Präprozessor auswählen für welche Plattform du kompilierst. Unter Windows musst du dir mal in der MSDN anschauen was die WinAPI für die Konsole bietet.

    Den C++ Code kannste nach C portieren in dem du die cout`s nach printf oder auch snprintf konvertierst. Aus den Strings musst du dann auch Cstrings machen.



  • justchris schrieb:

    Hmm,

    deine Escape-Sequenzen für Linux kannste glaube ich so nicht unter Windows nutzen.

    Entweder nutzt du da wie oben beschrieben eine Lib, oder du musst selbst ran und Code für die Plattformen schreiben und per Präprozessor auswählen für welche Plattform du kompilierst. Unter Windows musst du dir mal in der MSDN anschauen was die WinAPI für die Konsole bietet.

    Den C++ Code kannste nach C portieren in dem du die cout`s nach printf oder auch snprintf konvertierst. Aus den Strings musst du dann auch Cstrings machen.

    Ok danke dir. Wundert mich nur dass es da keine einheitliche Lösungsansätze gibt.



  • Ach, da gibt es soooo viel wo es keine Standards für gibt und was einem das Leben dadurch in der IT-Branche schwer macht, vielleicht auch ein Grund warum ich das seit kurzer Zeit nicht mehr beruflich mache, als Hobby sieht man das aber viel gelassener 😃


Anmelden zum Antworten