Byte-Array to INT schrieb:
> ich erhalte über eine serielle Schnittstelle eine Integer-Zahl, diese
> wird Ziffer für Ziffer übertragen und in einem Byte-Array gespeichert.
> Bsp:
> Es wird "1" "2" "3" übertragen.
Wenn etwas Ziffer für Ziffer - bzw. aus Sicht eines Computers eher
Zeichen für Zeichen - ankommt, dann ist es kein Integer, sondern eine
Zeichenkette. Bzw. englisch: ein String.
> Dieses Byte-Array der einzelnen Ziffern möchte ich nun als eine
> Integer-Zahl zusammen setzen.
Ein Array, das Textzeichen enthält, ist ein String. Zumindest dann, wenn
man in C programmiert.
> Gespeichert wird es im Array:
> Array[1] = 1
> Array[2] = 2
> Array[3] = 3
Wohl eher:
Array[1] = '1'
Array[2] = '2'
Array[3] = '3'
Außerdem verlangt C, daß am Ende eines Strings ein 0-Zeichen steht, als
Kennzeichnung daß der String zu Ende ist:
Array[4] = '\0' bzw. Array[4] = 0
Beachte dabei die Anführungszeichen! 0 ohne Anführungszeichen ist etwas
anderes als '0'.
Nochwas. C beginnt die Numerierung von Arrays mit 0. Also:
Array[0] = '1'
Array[1] = '2'
Array[2] = '3'
Array[3] = 0
> Dieses Array soll nach der Wandlung die Integer-Zahl 123 ergeben.
> Hat jemand eine Idee wie man das am besten macht.
Die Umwandlung von Zahlen zu Strings und umgekehrt ist in jeder
Programmiersprache eine Standardaufgabe. In C gibt es sogar mehrere
Möglichkeiten mit unterschiedlicher Mächtigkeit. Z.B. printf() /
scanf(). Oder das Päärchen itoa() / atoi()