Win32-Konsole

OP Persönliche Seite #249851
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren