![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Veteran
![]() |
![]() Hallo!
würde gerne ESC sequenzen in mein Programm einbauen. Mein Compiler ist Visual C++. Ich Programmiere C. mfg Etienne |
![]() |
![]() |
![]() |
#2 |
Elite
![]() |
![]() öh
ich glaub da musst schon genauere angaben machen escape sequenzen für strings, escape sequenzen für ein protokoll, etc?
____________________________________
Whoever built humanity left in a major design flaw: it was the tendency to bend at the knees. |
![]() |
![]() |
![]() |
#3 |
Veteran
![]() |
![]() ich meine die ECS sequenzen wie CLS(bildschirmlöschen)....
ich weiß nicht genau was du darunter verstehst. mfg etienne |
![]() |
![]() |
![]() |
#4 |
Elite
![]() |
![]() sorry, ich habs noch immer net verstanden
escape sequences sind normal werte, die anzeigen dass der nächste wert aufgrund bestimmter normen anders ist als er aussieht - um es mal so zusagen bsp für eine esc sequenz: willst du innerhalb eines strings ein " verwenden, musst du das mit einem \ escapen sprich printf ("ich sagte \"hallo wie gehts dir\""); \" ist dann die escape sequenz für " in vielen protokollen gibt es auch escape sequenzen, um vordefinierte werte benutzen zu können was du mit cls jetzt meinst weiß ich net. willst du cls in deinem programm aufrufen?
____________________________________
Whoever built humanity left in a major design flaw: it was the tendency to bend at the knees. |
![]() |
![]() |
![]() |
#5 |
Veteran
![]() |
![]() Ich lerne gerade C... Habe mir ein Buch gekauft (C für PC's).
In diesem sind ESC Sequenzen Sachen wie: printf("\33[2J"); Das sollte Bildschirmlöschen sein,doch in VC++ erkennt er diese nicht. Ich würde deswegen gern wissen wie es geht... Oder Wie man mit einem anderen Befehl einfach den Bildschirm löschen kann oder die Farbe der Console umstellen... Der Befehl um den Bildschirm zulöschen ist eine ESC sequenz. Diese lautet printf("\33[2J"); Damit ich diesen Befehl nicht immer hinschreiben muss, erledige ich es über eine Define direktive: #define CLS printf("\33[2J"); Diese Idee kommt nicht von mir sondern von meinen Buch... Also muss es gehen. ![]() Es gibt auch eine ESC sequenz zum Ändern der Consolen Farbe... danke mfg etienne |
![]() |
![]() |
![]() |
#6 |
Elite
![]() |
![]() ah, jetzt versteh ich was du meinst
sorry, aber da bin ich der falsche, ich bin linux jünger und weiß die notwendigen esc sequenzen net allerdings einen tipp kann ich dir geben du willst die zeile #define printf ("\33[2]"); CLS nicht verwenden. das ist kein schöner stil. #defines sollte man nur für konstanten verwenden mach dir statt dessen eine funktion Code:
void cls ( void ) { printf ("\33[2]"); } was meinst du außerdem mit VC++ erkennt das nicht? es lässt sich nicht kompilieren? dann hast du einen fehler an einer anderen stelle, der compiler überprüft den wert innerhalb der quotes zur compilezeit nicht. ob du dort \33[2] oder einen anderen string hast ist dem compiler egal. oder bewirkts einfach nichts? in dem fall würd ich vermuten, dass der escape code falsch ist. das hat aber wiederum nix mit VC++ zu tun, weil ausgeführt wird auf der windows-eigenen console
____________________________________
Whoever built humanity left in a major design flaw: it was the tendency to bend at the knees. |
![]() |
![]() |
![]() |
#7 |
Veteran
![]() |
![]() Ich habe als erstes auch gedacht das ich mich vertipt habe, aus diesem Grund habe ich in mein Buch nachgeschaut. Ich habe sogar in meiner Not die CD vom Buch genommen und die ESC sequenz kopiert.
Danke für den Tip, werde das in Zunkunft machen. Eine Inline Funktion wäre am besten? Ich meine mit dem dass VC++ es nicht versteht, dass er normal das hinschreibt... Er erkennt die Sequenz nicht, aber es lässt sich kompiliern.. mfg etienne |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|