Casting-Problem
-
Hallo!
Ich habe einen Zeiger auf einen const char, nun muss ich den jedoch in ein double casten. Wie geht das? double wert =(double)char; funktioniert nicht.
-
willst du den zeiger oder den inhalt casten?
für den zeiger:
char* a double b=reinterpret_cast<double>(a);
-
Ist das im const char* ein String (sowas wie "1.2345") oder moechtest du den ASCII-Wert eines einzelnen Buchstabens (Buchstabe 'a' hat z. B. ASCII-Wert 97) in einen Double casten?
-
Im Zweifel suchst du
#include <stdlib.h> /* ... */ const char *foo = "3.1415926"; double x = atof(foo);
Das ist allerdings C. In C++ würdest du statt const char* nen std::string benutzen und auf stringstream zurückgreifen:
#include <sstream> #include <string> //... std::string foo = "3.1415926"; std::stringstream str_in(foo); double x; str_in >> x;
Wenn du aus irgendeinem Grund den C-Stil in C++ benutzen willst, vergiss nicht, dass der Header da <cstdlib> heißt und die Funktion im namespace std ist.
-
Danke!
Ich werde es mal mit dem stringstream versuchen.