int=0xE8 aus eine String zusammenbauen - WIE?
-
Hallo
Ich habe folgendes Problem - ich habe einen *String in dem Hexwerte wie zb 01E8 (das ist ein Messwert) stehen. Nun muss ich diesen String so in mein Messgerät schreiben -> int wert[0] = 0x01; wert[1]=0xE8 ...Wie bekomme ich aus einem String diese Formation mit 0x... hin?
Schonemal vielen Dank im Voraus!
Grüsse
-
Du willst diese hexadezimalen Werte aus dem String lesen und int-Variablen zuweisen, ja? Dazu brauchst du "0x" nicht irgendwo hinzuzufügen. Welchen Typ haben deine Strings denn?
-
Also ich lese Messwerte ein und lege sie in String* messwert ab.
Diese Messwerte erden nu in hex umgewandelt und müssen so ins Gerät geschrieben werden -> für zb E8 muss ich den Wert 223 in den Speicher schreiben - das mach ich ja indem ich 0xE8 in den Speicher schreibe - nun muss ich eben von diesem String E8 irgendiwe zu einer Variante kommen, die mir die E8 als 223 schreibt, wie zb mit 0xE8 ... aber ich habe einen Stirng und das ganze funktioniert ja nur bei int ... ich verzweifle
Grüsse
-
Bei den int-Werten (die Dein Messgerät haben will, soweit ich das verstanden habe) braucht es kein 0x mehr. Du musst nur den String in int-Werte umwandeln. Damit hat es sich schon.
-
Tachyon schrieb:
Bei den int-Werten (die Dein Messgerät haben will, soweit ich das verstanden habe) braucht es kein 0x mehr. Du musst nur den String in int-Werte umwandeln. Damit hat es sich schon.
Und wie das geht steht in der FAQ (präventiv bevor die Frage hier zum 0xFF ten mal gestellt wird ;))
-
Also...
Erstmal solltest du die Definition von "String" mal zeigen (also poste mal Code). Das ist kein mir bekannter Typ. Es gibt std::string, char*, AnsiString, CString usw., aber "String" ist entweder irgendwas eigenes, oder du hast dich etwas undeutlich ausgedrückt.
Zum Thema hexadezimale Schreibweise: Wenn du eine int-Variable hast, kannst du ihr den Wert 0xa (hexadezimal) zuweisen, oder auch den Wert 10 (dezimal). Das Ergebnis ist dasselbe, weil diese beiden Werte identisch sind. Dein Gerät verlangt einen Zahlenwert. Wie du ihn während des Programmierens notierst, ist völlig egal. Wenn du also einen String "0A" hast, musst du diesen nur nach int umwandeln und hast somit schon den Wert, den du an dein Gerät schicken kannst.
Jetzt bleibt nur noch die Frage, welchen String-Typ du verwendest, und wie du dann konvertieren kannst.
-
String* -> Namespace System::String - sorry vergaß zu erwähnen das ich mit VSc++2008 .NET arbeite
Schonmal danke für die janze schnelle Hilfe - bin begeistert von diesem Forum hier! such grad wie ich meinen String in int bekomm
Grüsse
-
Dann bist du im falschen Forum. Hier geht's nur um C++, C++/CLI ist eine andere Sprache...
-
Dieser Thread wurde von Moderator/in pumuckl aus dem Forum C++ in das Forum C++/CLI mit .NET verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.