|
You last visited: Today at 18:15
Advertisement
c++ String to hex
Discussion on c++ String to hex within the C/C++ forum part of the Coders Den category.
10/09/2011, 00:03
|
#16
|
elite*gold: 0
Join Date: Feb 2009
Posts: 2,715
Received Thanks: 5,305
|
Quote:
Originally Posted by Medix
äh rechne es einfach um dann siehst du obs stimmt!?
|
ich meinte die funktion die ich geschrieben habe? ob sie so oke ist... klar ist das ergebniss richtig o.O
|
|
|
10/09/2011, 00:58
|
#17
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Quote:
Originally Posted by Medix
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
|
|
|
10/09/2011, 01:08
|
#18
|
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 454
|
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."
|
|
|
10/09/2011, 10:04
|
#19
|
elite*gold: 0
Join Date: Feb 2009
Posts: 2,715
Received Thanks: 5,305
|
Quote:
Originally Posted by MrSm!th
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!
|
|
|
10/09/2011, 11:22
|
#20
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Code:
int bla = 123;
std::cout << std::hex << bla;
Gut' nacht.
EDIT: Nächstes mal lese ich mir den Thread vorher durch und poste dann. sry.
|
|
|
10/12/2011, 15:34
|
#21
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Quote:
Originally Posted by link
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!
|
|
|
10/12/2011, 16:46
|
#22
|
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 454
|
"Es ist nicht schnuppe, sondern ein scheiß Stil."
Lass mich das in mein rosa Notizbuch schreiben *hust*
"[...] atoi nicht."
Ja, wieso denn nicht? Da steht doch, dass es seit C89 zur C-Lib gehört.
Und soweit ich weiß, ist die C-Lib der Standard.
VCL ist eine Runtime-Bibliothek von Borland (sprich von Delphi und dem C++ Builder)
|
|
|
10/12/2011, 20:35
|
#23
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Alles klar, entschuldigung, dachte es wäre cli.
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.
|
|
|
10/13/2011, 01:04
|
#24
|
elite*gold: 196
Join Date: Nov 2005
Posts: 625
Received Thanks: 192
|
Keine Ahnung wie du darauf kommst, dass atoi nicht zum C89/90 Standard gehört (s.  )...
|
|
|
10/13/2011, 14:22
|
#25
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Sagte ich das? Nein.
|
|
|
 |
|
Similar Threads
|
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 ?
|
All times are GMT +1. The time now is 18:15.
|
|