Char(bzw string) nachträglich in Konsole ändern.



  • Ist es mit C möglich, ein char das bereits in die console (linux) geschrieben wurde zu ändern. Den Effekt den ich erziehlen möchte ist, dass ein Strich auf der Stelle rotiert.

    Mein Idee in pseudo-code wurde so aussehn:

    schreibe("-")
       während(1)
           ersätze("-","\")
           warte(0,1)     //hier ist ein weiteres problem kenne nur sleep( int X)
                          //eine sekunde ist jedoch zu laang
           ersätze("/","|")
           warte(0,1)
    
           asw
    

    Ich hoffe ich habe keine wichtigen Informationen vergessen.
    MFG



  • Ist es mit C möglich, ein char das bereits in die console (linux) geschrieben wurde zu ändern

    jaein, eigentlich nicht, du kannst aber mit den ANSI Escape Sequencen die Zeichen auf den Terminal überschrieben. Suche danach. Wenn das Terminal aber keine Escape Sequences kann, dann wird das so nicht gehen.



  • Danke für den Tipp. Ich habe es hier mit versucht:

    ...
    printf("\b/");
    fflush(stdout);
    sleep(TIME);
    ...
    

    Das funktioniert auch. Allerdings gibt es ein Ersatz für Sleep? Da die Zeit die das Programm wartet mindestens eine Sekunde beträgt. (oder sleep(0) was keinen Sinn macht)
    Ausserdem habe ich im Internet noch ANSI Escape Sequencen gefunden: ESC+[
    Gibt es eine Möglichkeit die in C einzubauen? (oder hast du die gemeint?)


Anmelden zum Antworten