Hexadezimalen wert in Integer wert umwandeln?

hallo,

gibt es eine einfache möglichkeit, einen hexadezimalen inhalt einer variablen des typs char, so umzuwandeln, dass ich hinterher in einer andere variablen einen integer zahlenwert habe???

es ist wirklich wichtig!!!

danke schon einmal im vorhinein!!!

shram

hallo shram,

gibt es eine einfache möglichkeit, einen hexadezimalen inhalt
einer variablen des typs char, so umzuwandeln, dass ich
hinterher in einer andere variablen einen integer zahlenwert
habe???

es ist wirklich wichtig!!!

sscanf(), atoi()
so z.B.

MfG Peter(TOO)

Hallo Peter,

ich habe gerade das gleich Problem wie shram.
Nur mit Deiner Antwort kann man eigentlich nichts anfangen.

int main()
{
int i=184;
char HexZahl[] = „0b8“;

i = atoi(„0b8“);
printf( „HexZahl = %s\n“, HexZahl);
printf( „i = %d\n“, i);
return 0;
}

Ausgabe
HexZahl = 0b8
i = 0

kannst Du die Sache nicht einbischen besser beschreiben.

Gruß
Jörg

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Jörg,

ich habe gerade das gleich Problem wie shram.
Nur mit Deiner Antwort kann man eigentlich nichts anfangen.

Das liegt daran, dass ich hier keinen C-Kurs gebe und du die Beschreibung von sscanf() nicht richtig gelesen hast.

MfG Peter(TOO)

Danke für Deine Ausführliche Auskunft.
Wenn alle so toll antworten würden wie Du währe ich bereits kein Nutzer von www mehr.
Wenn ich wüßte wie es geht würde ich hier nicht Posten.

mfg Jörg

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Nur um zu zeigen das ich schon etwas von c verstehe
#include
#include
#include
#include

//#include
//#include
#include
#include
#include

//------------------------------------------------------------------------------
void hextoint(char* in, int ilen, int &iout)
//------------------------------------------------------------------------------
{
int sizeIn = sizeof(in);
iout=0;
char ch;
for (int i = ilen-2, j=0; i >= 0; i–,j++)
{
ch = toupper( in[i] );
switch (ch)
{
case ‚0‘:
case ‚1‘:
case ‚2‘:
case ‚3‘:
case ‚4‘:
case ‚5‘:
case ‚6‘:
case ‚7‘:
case ‚8‘:
case ‚9‘:
iout += ( (int( pow(16, j))) * (int(ch)-48) );
break;
default:
iout += ((int(pow(16, j)))*(int(ch)-55));
break;
}
}
}

int main()
{
int iHex=0;
char cHex[] = „FFF“;
int ilen = sizeof(cHex);
hextoint(cHex, ilen, iHex);
printf( „iHex = %d\n“, iHex );
return 0;
}