Es lässt mir keine Ruhe:
Eine Funktion wird aufgerufen, die bestimmte Daten an eine bestimmte
Postiton im Terminal wiedergeben soll.
Hier nur wichtig: Positionswerte int x und int y.
Möchte also die int´s in asciis wandeln (klappt schon) und an Stelle von
x und y im String einfügen. Wie geht das, wenn die Werte zB zweistellig
sind?
char string[] = {'\e','[', x ,';', y ,'H','\0'};
Nachdem du Stringverarbeitung einigermassen gemeistert hast, warten noch
viele andere Hürden in der C-Programmierung auf dich. Daher brauchst du
ein vernünftiges Buch, denn keiner hat hier Lust, dir in endlosen
Postings das beizubringen, was du in jedem Buch auf 25 Seiten
ausführlichst auch selber nachlesen kannst.
Wird beherzigt.
Das x und y in
> char string[] = {'\e','[', x ,';', y ,'H','\0'};
habe ich jedoch nur als Platzhalter eingefügt ohne Hoffnung auf
Klappung. Meine Hoffnung war, den gesamten string in einer Zeile
schreiben zu können, da noch vieleviele weitere dieser strings für den
gesamten Bildschirminhalt dazukommen.
Thorsten ". schrieb:> Meine Hoffnung war, den gesamten string in einer Zeile> schreiben zu können, da noch vieleviele weitere dieser strings für den> gesamten Bildschirminhalt dazukommen.
Soll das ein µC- oder ein PC-Programm werden? Das sieht nach einer
Ansteuerung/Cursorpositionierung eines ANSI/VT100/VT200-kompatiblen
Terminals aus...
Auf einem PC kannst Du ohne Gewissensbisse einfach:
printf ("\e[%d;%dH", x, y);
aufrufen, das sollte Deinen Cursor an die richtige Stelle setzen ;-)
Auf einem µC empfiehlt sich dann die Verwendung von sprintf() (mit
entsprechendem Speicherplatzverbrauch) oder die Lösung von Karl Heinz.
Im letzteren Fall würde ich an Deiner Stelle entsprechende Funktionen
schreiben, die die Terminal-Steuerung abdecken, wie zum Beispiel:
1
voidgotoxy(uint8_tx,uint8_ty)
2
{
3
...// Lösung von Karl Heinz
4
}
5
6
voidreverse_on(void)
7
{
8
strcpy(result,"\e[5m");
9
...
10
}
11
12
voidreverse_off(void)
13
{
14
strcpy(result,"\e[0m");
15
...
16
}
usw. usw.
Vielleicht solltest Du Dir wirklich erstmal ein gutes C-Buch schnappen.
Stringbearbeitung in C muss man verstehen....