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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.