char to int - wie?
-
hallo, habe einen string in dem ich eine zahl drin hab, die in ein int gecastet werden soll, aber irgendwie kommt dabei nur müll raus
this->iPort = *(int*) &(temp.substr(start + 6, end - 6));
was mach ich falsch?
-
im faq c++ (siehe link oben im c++ unterforum) stehen sinnvollere umwandlungsmethoden
ps: ein string oder ein char? wäre auch noch von bedeutung
-
du kannst es doch nicht einfach so "casten": char ist ein datentyp, dargestellt durch eine ansammlung aus acht nullen und einsen, wenn du das so castest, dann interpretierst du des einfach als binärzahl (und zwar von 3 anderen bytes auch noch mit dazu=> totaler schrott)
ich find die funktionen "atoi" "atof" "atol" am einfachsten zu benutzen, geht aber auch irgendwie mit streams, dazu gibts was im FAQ:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39488.html
-
es klappt
thx