hallo Leute, ich versuche ein Char Zahl in uint_16 zu konvertieren. ZB char zahl1[4]="7FF", uint16_t zahl2; zahl2=atoi(zahl1); ich bekomme zahl2=7; Weiss jemanden wo das Problem liegt? Danke
Wenn du einen Hex-String in eine Zahl umwandeln willst, such mal nach strotul(). atoi() wandelt dezimal und stört sich folglich am "F".
Du brauchst nicht beide Funktionen. Nur strtoul brauchst du. Und wie man strtoul benutzt, steht im Handbuch deiner C-Toolchain oder irgendwo in der Warmen Weiten Wildnis, wo es darauf harrt von Google gefunden zu werden.
Aufruf z.B. #include <stdlib.h> char zahl1[4]="7FF"; uint16_t zahl2; zahl2 = (uint16_t) strtoul(zahl1, (void *) 0, 16); Die Kollegen von strtoul für andere Typen als unsigned long int heissen strtod() und strtol()
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.