![]() |
Mit Cursor zu bestimmter Stelle Springen C
Hallo,
ich bin am verzweifeln. Ich will in C ein paar Zeilen Text schreiben, mit printf() und dann mit den Cursor irgendwo hinspringen und dort wieder etwas schreiben. Hat wer eine Ahnung wie das geht? Wie ich innerhalb einer Zeile Springe weiß ich, das geht über die Steuerzeichen von printf. mit \r zb zum Anfang der Zeile. Aber wie springe ich eine Zeile nach oben? |
Re: Mit Cursor zu bestimmter Stelle Springen C
Die Ausgabe ist eine lineare Funktion und nicht reversible. Die normalen Steuerzeichen können von daher dort auch nichts mehr ausrichten. Einzige Möglichkeit ist, wenn die Ausgabekonsole o.ä. welche genutzt wird eine Terminal Emulation unterstützt. Diese Emulationen haben (meist über Escape Sequenzen) die Möglichkeit der erweiterten Steuerung. Aber wie gesagt, abhängig von der unterstützten Emulation (VT52, VT100, ANSI, etc)...
|
Re: Mit Cursor zu bestimmter Stelle Springen C
phu, das klingt kompliziert^^
das einzige was mir noch einfällt ist einfach den bildschirm mit cls löschen und dann bin ich wieder am anfang der eingabe... glaub werd das so irgendwie lösen wenn das anders nicht geht |
Re: Mit Cursor zu bestimmter Stelle Springen C
wie programmierst du denn... auf der console...?
Delphi-Quellcode:
#include <conio.h>
|
Re: Mit Cursor zu bestimmter Stelle Springen C
Schau mal nach
![]() |
Re: Mit Cursor zu bestimmter Stelle Springen C
Hallo,
ja ich programmiere in der Konsole. gotoxy ist pascal.... ich kenne keinen Befehl für C der das selbe macht, ünber Google finde ich auch nur Schrott :-( |
Re: Mit Cursor zu bestimmter Stelle Springen C
Hello,
also ich habe jetzt was gefunden, und zwar gibt es in C ansi control sequenzen aber irgendwie funktioniert das nicht. mit
Delphi-Quellcode:
sollte ich eine Zeile raufspringen, allerdings wird die ESC Sequenz nicht ausgeführt sondern
printf("\033[A");
es wird <-[A ausgegeben :-( weiß wer rat? |
Re: Mit Cursor zu bestimmter Stelle Springen C
Bei mir funktionierts
![]() Hier noch mehr: ![]() |
Re: Mit Cursor zu bestimmter Stelle Springen C
Hallo Ferdinand,
hast du den Treiber ANSI.SYS in der Datei %windir%\system32\config.nt geladen? EDIT: Unabhängig vom ANSI-Treiber funktioniert die API Funktion SetConsoleCursorPosition() ... Grüße vom marabu |
Re: Mit Cursor zu bestimmter Stelle Springen C
Zitat:
|
Re: Mit Cursor zu bestimmter Stelle Springen C
Dann halt die Terminal Emulation. ANSI etc hatte ich schon alles entsprechend genannt. Bei den Normungsinstituten sowie vielen anderen Websites findet man eine komplette Dokumentation.
|
Re: Mit Cursor zu bestimmter Stelle Springen C
Zitat:
Code:
-->
gotoxy
See also Example Portability Syntax #include <conio.h> void gotoxy(int x, int y); Description Positions cursor in text window. gotoxy moves the cursor to the given position in the current text window. If the coordinates are in any way invalid the call to gotoxy is ignored. An example of this is a call to gotoxy(40,30) when (35,25) is the bottom right position in the window. Neither argument to gotoxy can be zero. Note: Do not use this function for Win32s or Win32 GUI applications. Return Value None. Borland C++ 5.0 Programmer's Guide ![]() |
Re: Mit Cursor zu bestimmter Stelle Springen C
hallo
gotoxy ist mir nur unter c++ bekannt, sicher das es das unter c auch gibt? also conio.h hab ich eingebunden aber er kennt den befehlt trotzdem nicht zu SetConsoleCursorPosition(); gibt es das unter c oder ist das auch c++, welches header file muss ich dazu einbinden thx 4 help |
Re: Mit Cursor zu bestimmter Stelle Springen C
JUHU,
geschafft :-)
Delphi-Quellcode:
#include <windows.h>
void gotoxy(short x, short y) { HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); COORD pos; pos.X=x-1; pos.Y=y-1; SetConsoleCursorPosition(hCon, pos); } |
Re: Mit Cursor zu bestimmter Stelle Springen C
Also bei mir funzt das:
Code:
Borland C++ 5.5.1 Compiler. Wie schon geschrieben, ich hab früher mit Turbo C rumgespielt und da gabs gotoxy auch schon.
#include <stdio.h>
#include <windows.h> #include <conio.h> int main(int argc, char *argv[]) { int a; system ("cls"); for (a = 0; a < 10; a++) printf ("-> %d\n", a); gotoxy (1,1); printf ("-- Test --\n"); return 0; } |
Re: Mit Cursor zu bestimmter Stelle Springen C
glaub das gibts nur untern borland glaub ich, zumindest waren fast alle google ergebnise die gotoxy dirket hatten von broland
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz