PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeichenweise Ausgabe von Int



DanGeanX
09.01.2006, 20:50
Hi,
ich stehe vor folgendem Problem:
Ich möchte den Inhalt eines Zeigers auf einen 16 bit unsigned int mit einer Funktion ausgeben, die einen Zeiger auf ein Feld von 8 bit unsigned char erwartet (ASURO's SerWrite Funktion)
Gibt's da eine schnelle Möglichkeit, oder muss ich tatsächlich die einzelnen Ziffern errechnen und einzeln ausgeben.
Vielen Dank schon mal,
nic.

Andun
09.01.2006, 21:41
also die SerWrite() erwartet ja char Typen und davon den ersten Zeiger. Du musst ihm also deine 16 bit int erstmal in einen char umwandeln. Z.b. mit itoa() (schauste bitte in die Doku).

Dann kannst du die chars an SerWrite übergeben. (Bzw. den Pointer darauf, aber das ist ja dasselbe)

Ich hoffe, dass war verständlich erklärt.

Andun

PicNick
10.01.2006, 07:22
Na, auf ASCII solltest du nicht gleich umwandeln.
Da ja "C" von "casten" kommt


Du hast einen pointer "pntr" auf ein 16-Bit wort.
SerWrite ((unsigned char*)pntr); // low(16bitwort)
SerWrite ((unsigned char*)((int)pntr + 1)); // high(16bitwort)