C++: cin: nur ein buchstabe dann weiter

@sym4nt3c
Wofür willst du eine andere Methode? Was verspricht du dir für einen Vorteil gegenüber cls?
Du kannst den DOS Video-Buffer auch Zeichen für Zeichen selber löschen (soweit ich mich erinnere liegt der irgendwo bei 0B800 Hex im Speicher), aber ner Menge Aufwand bringt dir das nichts.

@$oul
Ja, das geht auch nur unter Windows, aber ich denke das sollte auch ausreichend sein. Ich untestelle jetzt mal den beiden Fragestellern, dass sie ein Konsoleninterface nur zu Lernzwecken schreiben. Und Kleine Beispielprogrämmchen müssen wirklich nicht portabel sein.
Falls ihr dennoch den unbedingten Drang habt es portabel zu machen, dann macht es mit Präprozessor-Direktiven:
Code:
#ifdef __unix__
#define CLRSRC printf("\x1B[2J")
#elif __WIN32__ 
#define CLRSRC system("cls")
...//Hier noch weitere OS
#endif
 
thx für die antwort. wolte nur so aus neugierde wissn. system("cls"); ist e einfach zum verwenden und funktioniert. warum sollte man dann diese methode nicht verwenden??
 
Original von sym4nt3c
thx für die antwort. wolte nur so aus neugierde wissn. system("cls"); ist e einfach zum verwenden und funktioniert. warum sollte man dann diese methode nicht verwenden??
system() übergibt einen auszuführenden befehl an das betriebssystem. unter windows kann man mit "cls" in der konsole/eingabeaufforderung den inhalt löschen. jedoch nicht jedes betriebssystem verfügt über den befehl. bei linux gibt es "cls" z.b. nicht, dort heisst der entsprechende befehl "clear".
der code system("cls"); ist also plattformabhängig und funktioniert in diesem fall nur unter windows.
 
Zurück
Oben