zeichen löschen
-
hi
gibt es eine funktion um das zuletzt ausgegebene zeichen wieder zu löschen?
sowas wie \r(zeilenrückschaltung) oder system("cls") bloß halt nur für ein zeichen?
und kann man irgendwie anstatt von links nach rechts von rechts nach links die ausgabe gestalten?
thx
-
Schau dir mal die ganze Konsolen API an.
Damit kannst du dir eigentlich alles mögliche zusammen basteln.Ne ganz schlichte Version die das letzte Zeichen hinter der Cursorposition löscht:
#include <iostream> #include <windows.h> using namespace std; void LetztesZeichenLoeschen() { HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO csbi; GetConsoleScreenBufferInfo(hOut,&csbi); COORD temp; temp.X= csbi.dwCursorPosition.X-1; temp.Y= csbi.dwCursorPosition.Y; FillConsoleOutputCharacter(hOut,' ',1,temp,NULL); } int main() { cout<<"Tach Post!!"; Sleep(2000); LetztesZeichenLoeschen(); return 0; }
Wenn du mit dem Cursor schon in ner neuen Zeile bist musst du dir natürlich was anderes überlegen.
MfG Spacelord
-
Spacelord schrieb:
void LetztesZeichenLoeschen() { HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO csbi; GetConsoleScreenBufferInfo(hOut,&csbi); COORD temp; temp.X= csbi.dwCursorPosition.X-1; temp.Y= csbi.dwCursorPosition.Y; FillConsoleOutputCharacter(hOut,' ',1,temp,NULL); }
witzbold
das geht doch viel einfacher#define LetztesZeichenLoeschen() cout<<"\b \b";
-
Ist aber langsamer.
MfG SideWinder
-
SideWinder schrieb:
Ist aber langsamer.
dafür geht's aber an der richtigen stelle weiter :p
-
net schrieb:
SideWinder schrieb:
Ist aber langsamer.
dafür geht's aber an der richtigen stelle weiter :p
void LetztesZeichenLoeschen() { HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO csbi; GetConsoleScreenBufferInfo(hOut,&csbi); COORD temp; temp.X= csbi.dwCursorPosition.X-1; temp.Y= csbi.dwCursorPosition.Y; FillConsoleOutputCharacter(hOut,' ',1,temp,NULL); SetConsoleCursorPosition(hOut,temp); }
:p
Aber mal im Ernst.
Das ganze war eigentlich als kleiner Fingerzeig gedacht was mit der Konsolen API machbar ist.Mit den ca.20 Funktionen kann man ja doch so allerlei anstellen was Standard C++ einfach nicht hergibt.MfG Spacelord