und das ausgeben als hex zahl sollte ja kein problem sein sobald du den string als zahl vorliegend hast.
atoi ist keine Standardfunktion.
strtol ist schöner.
Aber du kannst es auch gleich mit std::cin und dem Operator std::hex als eine hexadezimale Zahl interpretieren.
Wie schon gefragt wurde: Warum postet ihr C oder gar Asm? :O
@Shadow:
1. Warum erwartest du nur ein Char? Damit kann man gerade mal Zahlen bis 255 in Hex umwandeln und hier geht es um Adressen.
2. Warum ist dein buf 5 chars groß? Für 255 in Hex bräuchtest du gerade mal 3 Chars. Du Speicherplatzverschwender!
3. Warum gibst du bitte wieder einen String zurück? Er einen String als Hex Zahl interpretieren und in eine int Variable speichern.
Quote:
//In IRGENTWASS steht: 1701EC5 (das 0x ist hierbei nicht dabei, aber ist auch völlig egal...)
//Stimmts?
In IRGENDWASS steht gar nichts, das ist eine int Variable. Da sind ein paar 1en und 0en drin, um genau zu sein 32.
Als hexadezimale Zahl interpretiert in einem String ausgegeben steht da (falls deine Umrechnung richtig ist) 1701EC5, ja. Ob ein 0x davor steht, hängt davon ab, ob die betreffende interpretierende Funktion es voranstellt oder nicht.
Quote:
return IntToHex(atoi(buf), 0);
Das ist absoluter Blödsinn. Es gibt keine Konvertierung von int zu Hex. Eine hex Zahl ist genau so mit einem int speicherbar.
Hex ist nur eine andere Art es darzustellen. Mich würde mal interessieren, wie deine IntToHex aussieht o.O
C oder C++ ist doch schnuppe und Asm kann man doch inlinen :>
Btw. Wieso soll atoi keine Standardfunktion sein? "The atoi, atof, and atol functions are a part of the ISO standard C library (C89), while the atoll function is added by C99."
Mich würde mal interessieren, wie deine IntToHex aussieht o.O
Ich kann zwar kein C++, aber ich weiß das mein kleiner Code gehen würde!
Ein int kann man als dezimal,hex,okt,bin usw ausgeben lassen und normalerweise ist das dezimal
bsp.: int bla = 0x9 * 0x9;
wenn man this->Caption = bla; machen würde wäre die Caption 81 und nicht 0x51 das ist glaube ich standart so. Und in der SysUtils.pas war schon diese funktion wie man das zu einer hex zahl ausgibt...d.h. this->Caption = IntToHex(bla,0);
Ich kann kein c++ also verurteilt mich nicht wenn alles nur quatsch ist, aber es funktioniert!
C oder C++ ist doch schnuppe und Asm kann man doch inlinen :>
Btw. Wieso soll atoi keine Standardfunktion sein? "The atoi, atof, and atol functions are a part of the ISO standard C library (C89), while the atoll function is added by C99."
Es ist nicht schnuppe, sondern ein scheiß Stil.
Ich kann den Thread nochmal raussuchen, afaik ist strtol standard, atoi nicht.
Quote:
Originally Posted by SandMann016
Ich kann zwar kein C++, aber ich weiß das mein kleiner Code gehen würde!
Ein int kann man als dezimal,hex,okt,bin usw ausgeben lassen und normalerweise ist das dezimal
bsp.: int bla = 0x9 * 0x9;
wenn man this->Caption = bla; machen würde wäre die Caption 81 und nicht 0x51 das ist glaube ich standart so. Und in der SysUtils.pas war schon diese funktion wie man das zu einer hex zahl ausgibt...d.h. this->Caption = IntToHex(bla,0);
Ich kann kein c++ also verurteilt mich nicht wenn alles nur quatsch ist, aber es funktioniert!
Wenn du kein C++ kannst dann lass es!
Nur weil es funktioniert, ist es nicht gleich richtig.
Und du hast es doch erkannt! Das gilt für die Ausgabe! Also dass eine Zahl als String dargestellt wird. Natürlich muss man da angeben, in welchem Format der String aufgebaut sein soll.
Aber hier geht es darum, einen String als Zahl zu interpretieren und in einen int zu speichern!
Da nutzt man eine Interpretationsfunktion wie atoi und def gibt man das Wunschformat mit oder sie erkennt es selbst.
Der Output ist dann eine binäre Zahl, da gibt es nichts mehr zu konvertieren!
Deine Lösung würde auch ohne den IntToHex scheiß funktionieren.
Und Vcl ist doch .NET in C++ oder? Pfui, lass das!
Ich sagte schon, ich muss erst einmal den Thread raussuchen.
Kann auch sein, dass der etwas älter ist und damals atoi noch nicht zum Standard gehörte (trotzdem wurden da noch andere Nachteile besprochen).
Meines Wissens war atoi doch ne Funktion aus dem ms sdk oder nicht?
btw. er hat explizit nach c++ gefragt und der c++ Weg ist in diesem Fall schneller, kürzer, einfacher, besser zu lesen und eine besser zur Frage passende Antwort als der restliche Kram, der hier geposted wurde.
Need String 08/20/2011 - Rappelz - 7 Replies Hi, I wanted to ask if there was a command to Auto-restart the server after the crash.
[VB08]String in String mit mehreren Funden 08/08/2011 - .NET Languages - 6 Replies Hey,
bin gerade auf ein Problem gestoßen, an dem ich mir seit 3 Stunden die Zähne ausbeiße.
Ich will eine Funktion schreiben, die der _StringBetween Funktion von AutoIt gleich ist. _StringBetween gibt in einem Array alle Strings zwischen zwei SubStrings und dem ganzen String aus. Die Ausgabe bei
_StringBetween("<h1>test1</h1>&l t;h1>test2</h1>", "<h1>", "</h1>") wäre also idealer Weiße ein Array (x = "test1", x = "test2")...
da man in VB08 kein Array returnen kann, komme ich aber einfach...
[C++] string zwischen string 11/11/2010 - C/C++ - 6 Replies tag gibts direkt ne funktion, mit der man einen passenden string zwischen dem string suchen kann?
also meine net .find() sondern sowas ähnliches, die in diesem beispiel "mein string sucht"
Bsp:
"<span id=\"lalala\">"+string mein_string+"</span>"
understanden? :-)
C# String zum Key 05/05/2010 - .NET Languages - 7 Replies Hallo liebe User,
Ich habe seit langer Zeit ein Problem das mich ne Weile beschäftigt.
Es geht um Hotkeys und Strings..
Was ich machen will:
Ich habe jetzt diesen Code:
Getting ID String for RPE 07/15/2009 - Ragnarok Online - 0 Replies Is there any way for getting ID String for account ID than using openkore ? openkore doesn't work on my server, I need to get the String ID so I can use RPE filter.
Does anyone know the solution for this ?