Printf-Position fixieren



  • Guten Morgen

    Ich möchte in einem C-Konsolenprogramm eine Ausgabe mit Printf machen, welche auf einer bestimmten Zeile ausgegeben werden soll. Der sinn dahinter ist der, damit ich einen Rahmen um den Text machen kann.

    z.B.:
    Die Printf-Ausgabe sollte sich somit

    ##############
    # *sonstiges*#
    # *printf*   #   <-- hier
    # *printf*   #   <-- bzw. hier
    ##############
                     <-- und nicht (wie standartmässig) hier!
    

    befinden.

    Der Rahmen sollte sich nicht verschieben und die Ausgabe von Printf wird mit dem Programm immer grösser (Zeichen um Zeichen).

    Ist so etwas überhaupt umsetzbar?

    Wäre auch froh über einen Beispiel-Code :D.

    Greetz



  • Mit reinem C geht das nicht so, wie du dir das denkst. Es gibt ncurses bzw. ASCI-Escape-Sequenzen dafür.

    Was du tun solltest, wäre erst in deinem Programm die Zeilen inklusive Ramen zusammen basteln und dann erst ausgeben. Du kannst dir beispielsweise ein 2-dimensionales Feld anlegen, in dem du schreibst, bevor du die Zeilen ausgibst.



  • Das geht zwar mit reinem Ansi C, sieht aber kacke aus, weil du mit jedem neuen hinzukommenden Zeichen stets den Bildschirm komplett neu anzeigen lassen musst.
    Das flackert.

    Gruß,
    B.B.



  • BiG Brazz0r schrieb:

    Das geht zwar mit reinem Ansi C, sieht aber kacke aus, weil du mit jedem neuen hinzukommenden Zeichen stets den Bildschirm komplett neu anzeigen lassen musst.
    Das flackert.

    Gruß,
    B.B.

    Oh, wie heißt denn die Funktion? 😕
    Dachte ANSI C bietet sowas nicht an...



  • blubber31 schrieb:

    BiG Brazz0r schrieb:

    Das geht zwar mit reinem Ansi C, sieht aber kacke aus, weil du mit jedem neuen hinzukommenden Zeichen stets den Bildschirm komplett neu anzeigen lassen musst.
    Das flackert.

    Gruß,
    B.B.

    Oh, wie heißt denn die Funktion? 😕
    Dachte ANSI C bietet sowas nicht an...

    Die Funktionen heißen puts, printf und fprintf.



  • BiG Brazz0r schrieb:

    blubber31 schrieb:

    BiG Brazz0r schrieb:

    Das geht zwar mit reinem Ansi C, sieht aber kacke aus, weil du mit jedem neuen hinzukommenden Zeichen stets den Bildschirm komplett neu anzeigen lassen musst.
    Das flackert.

    Gruß,
    B.B.

    Oh, wie heißt denn die Funktion? 😕
    Dachte ANSI C bietet sowas nicht an...

    Die Funktionen heißen puts, printf und fprintf.

    Ah 🙄


Anmelden zum Antworten