Win32-Konsole

OP Persönliche Seite #249851
Guten Morgen!

Weis zufällig jemand, wie/ob ich die ANSI-Steuerzeichen in einer
Win32-Konsole per simplen 'printf' nutzen kann?

Optimistisch wie ich war habe ich folgendes probiert:
1
#include <stdio.h>
2

3
int
4
main(void)
5
{
6
    /*
7
     * Clear screen and go to home position
8
     */
9
    printf("\x1[2J\x1b[H");
10
    return 0;
11
}

...das kommt aber völlig "uninterpretiert" auf dem Bildschirm an.

Hat da jemand eine Idee?
Danke...
Persönliche Seite #249853
Gar nicht. Ein Äquivalent zum "ansi.sys" aus der DOS-Zeit gibt es
unter Windows nicht.

Zur Cursorsteuerung und anderen Dingen solltest Du die in der Win32-API
vorhandenen Funktionen verwenden; hier zwei Einstiegspunkte in die
zugehörige Dokumentation:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/high_level_console_i_o.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/low_level_console_i_o.asp

Mir ist, um ehrlich zu sein, auch schleierhaft, warum dieses Fossil aus
der IT-Steinzeit, in der noch echte Terminals an seriellen
Schnittstellen hingen, immer noch am leben ist ... in der *nix-Ecke
gibt es ja noch schlimmere Varianten davon (termcap), die IMHO auch
völlig entbehrlich sind.
Naja.

Wie auch immer; viel Erfolg!
OP Persönliche Seite #249855
Rufus:

Danke, die MSDN habe ich dann auch kurz darauf gefunden, aber was da
für ein simples Bildschirmlöschen gemacht wird, finde ich ein wenig arg
übertrieben. Was solls... :)

Warum ANSI-Sequenzen? Nun, ich möchte meine Konsolapplikation einfach
ein wenig übersichtlicher machen. Und ich möchte bei der Konsole
bleiben, denn die Funktionalität steht im Vordergrund, nicht das
Entwerfen von irgendwelchen Fensterchen :-)

René:

Danke, werds mir mal anschauen.
Persönliche Seite #249856
Mir ist schon klar, warum Du eine Möglichkeit zur Ausgabesteuerung
suchst, das war nicht der Punkt meiner (auch gar nicht an Dich
gerichteten) Kritik.

Renés Code ist ein Wrapper um die zugegebenermaßen arg umständliche
Konsolen-I/O-API von Microsoft.
Praktisch. Sowas sollte MS oder auch andere Compilerhersteller ihren
Compilern von vornherein mitgeben.

Auch von mir ein Dank an René.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.