Müssen int aus Hexadezimalrepräsentation string wie "0xFA"
oder besser "FA"
machen. Brauchen Sie etwas wie atoi("FA")
. Gibt es dafür Standardlösungen?atoi() aus hexadezimaler Darstellung string
20
A
Antwort
47
Versuchen strtol() zu verwenden:
strtol("FA", NULL, 16);
+0
Hinweis: es funktioniert auch mit '0xFA':" (optional) Präfix (0x oder 0X) angibt hexadezimale Basis (gilt nur, wenn die Basis ist 16 oder 0) " – usr2564301
+15
Für unsigned sollten Sie strtoul() verwenden, um Strings wie" 0x81234567 "richtig zu behandeln, sonst erhalten Sie 0xFFFFFFFF zurückgegeben. – gjcamann
So etwas wie [ 'strtol'] (http://en.cppreference.com/w/c/string/byte/strtol), meinen Sie? – usr2564301
[Kennen Sie Ihre Werkzeuge] (http://en.cppreference.com/w/c) – user694733