In bestimmte Zeile der Ausgabe Konsole schreiben
-
Wie kann ich etw. in eine bestimmte Zeile der Ausgabekonsole schreiben?
- Ohne Leerzeichen
- Ohne endl;Es darf also der Rest der Konsole nicht "gefüllt" sein ( so wie es z.B durch endl oder Leerzeichen entsteht ) !
Danke im vo rraus !
-
Dafür gibt es keine portable Möglichkeit. Für welches OS programmierst du denn?
-
bin neu hier ^^ was heisst OS
-
°Stealth° schrieb:
bin neu hier ^^ was heisst OS
OS: Operating System.
Und falls dein Englisch nicht so gut ist: Betriebsystem.Grüssli
-
Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
achso -.- danke dir ^^ Windows 7
-
probier es mal mit SetConsoleCursorPos() (habe die genaue syntax grade nicht om kopf, einfach mal googln...)
mfg,
andi01.
-
habe den code jetzt doch mal nachgeschaut, hier mal 3 (ungetestete!) Beispiele:
so holt man sich die Position des Konsolencursors:
POINT consolecursorposition() { int cursorx; int cursory; CONSOLE_SCREEN_BUFFER_INFO consoleinfo; //info holen GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &consoleinfo); //consolecursorposition aus info raussuchen cursorx = consoleinfo.dwCursorPosition.X; cursory = consoleinfo.dwCursorPosition.Y; POINT position; //in POINT konvertieren: position.x=cursorx; position.y=cursory; //zurückgeben: return position; }
diese funktion gibt sie Position als POINT-Struktur zurück;
so ändert man die Position des ConsoleCurosors:
void schreibort_konsole_setzen(int x, int y) { HANDLE hConsole = GetStdHandle ( STD_OUTPUT_HANDLE ); COORD pos = {x, y}; SetConsoleCursorPosition ( hConsole, pos ); }
um an einen bestimmten Ort zu schreiben und die Position danach zurückzusetzen muss man beide funktionen kombinieren, das könnte zB so aussehen:
void an_position_in_konsole_schreiben(string text, int x, int y) { //vorherige Position sichern: POINT position_vorher=consolecursorposition(); //neue position setzen: schreibort_konsole_setzen(x, y); //hinschreiben: cout<<text; //schreibort vorher konvertieren: int x_vorher=position_vorher.x; int y_vorher=position_vorher.y; //schreibort zurücksetzen: schreibort_konsole_setzen(x_vorher, y_vorher); }
ich hoffe es hat dir weitergeholfen,
andi01.P.S.: funktioniert es jetzt?