PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : string zu integer



gorba
08-11-2006, 09:28
hallo

habe eine string mit dem Inhalt "0x0a0c0v[...]" und möchte den gern zu einem integer konvertieren. Ich dachte eigentlich, dies ginge einfach mit einem cast, allerdings liefert mir i = (int) s ein zimlich kurioses Ergebnis.

Kann ich den string sonst irgendwie konvertieren? Bin völlig ratlos.

7.e.Q
08-11-2006, 10:32
Was macht atoi() daraus?

gorba
08-11-2006, 10:54
atoi() habe ich auch ausprobiert, allerdings bekomme ich das glaiche ergebniss wie von einem cast.

Habs nun so gelöst, obwohl dies sicher eine extrem umständliche und komische variante ist. War nun ein halbes Jahr in der Python Welt und hab da wohl was in c verlernt =S

beim Aufruf werden char *hex_addr und struct in_addr *ip mitgegeben



snprintf( str_ip , 11, "%#s", hex_addr);
i = 6;
n = sscanf( &str_ip[i] , "%x", &d4 );
str_ip[i] = '\0';
n = sscanf( &str_ip[i-2] , "%x", &d3 );
str_ip[i-2] = '\0';
n = sscanf( &str_ip[i-4] , "%x", &d2 );
str_ip[i-4] = '\0';
n = sscanf( &str_ip[i-6] , "%x", &d1 );

snprintf( str_ip, 25,"%d.%d.%d.%d", d1,d2,d3,d4);
printf("%s\n", str_ip);
result = inet_aton(str_ip, ip);

comrad
08-11-2006, 12:17
Bitte gib das nächste mal auch die Programmiersprache an ;)

7.e.Q
08-11-2006, 12:23
Bitte gib das nächste mal auch die Programmiersprache an ;)

... und daß es dabei um IP-Adressen geht.

gorba
09-11-2006, 10:37
.. ok werde ich machen. sry.
als wie schlecht beurteilt ihr meinen code? =)

Beatkiller
09-11-2006, 18:28
Ich weiß immer noch nicht genau, was dein code macht. Es ergibt keinen Sinn für micht. Daher kann ich nicht beurteilen, ob der Code gut oder schlecht ist. Im ersten Moment siehts wie Kauderwelsch aus. Was soll der überhaupt bewirken, wofür es keine lib-Funktionen gibt?