Archiv verlassen und diese Seite im Standarddesign anzeigen : string zu integer
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.
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);
Bitte gib das nächste mal auch die Programmiersprache an ;)
Bitte gib das nächste mal auch die Programmiersprache an ;)
... und daß es dabei um IP-Adressen geht.
.. 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?
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.