fehler bei konventierung
-
string test = this->ergebnis->Text; double zahl = atof(test);
klappt aber immer noch nicht, fehler:
error C2065: 'string' : undeclared identifier
error C2065: 'test' : undeclared identifier
error C2146: syntax error : missing ';' before identifier 'test'
error C3861: 'test': identifier not found, even with argument-dependent lookupsorry, bin noch anfänger!
-
wenn du schreibst
char test = ...
hast du nur 1Byte Platz!Da passt kein Text rein!
Also ein Array verwenden. char test[] = ...Und die Fehlermeldung bekommst du, weil du atoi einen char uebergibst, die Funktion aber einen char* (Zeiger auf char) will.
Zu Arrays und Pointern gibts bestimmt was in der FAQ.
Gruss Jochen
-
um den datentyp string verwenden zu koennen, musst du den richtgen haeder einbinden!
#include <string>
using namespace std;Aber dann wirst du auch schreiben muessen:
double zahl = atof(test.c_str());
Weil du aus dem String auch erst wieder einen char* machen musst.Gruss Jochen
-
habe es jetzt so:
char test[] = this->ergebnis->Text; double zahl = atof(test);
immer noch ein fehler
error C2440: 'initializing' : cannot convert from 'System::String __gc *' to 'char []'
-
char* test = blabla... ?!?!
-
fehler
error C2440: 'initializing' : cannot convert from 'System::String __gc *' to 'char *[]'
error C2664: 'atof' : cannot convert parameter 1 from 'char *[]' to 'const char *'
-
char* test = this->ergebnis->Text; double zahl = atof(test);
-
System::String __gc ist nicht im Standard enthalten.
Ich vermute es geht um einen System::String von .netDaher wirst Du mal in die Doku schauen müssen wie Du den .net String in char* bekommst.
(Zumal denke ich gibts im Framework andere Möglichkeiten ?!)
-
Nochmal genauer:
#include <string> using namespace std; string test = this->ergebnis->Text; double zahl = atof(test.c_str());
oder
char * test = this->ergebnis->Text.c_str(); double zahl = atof(test);
-
Entyl_Sa schrieb:
Nochmal genauer:
#include <string> using namespace std; string test = this->ergebnis->Text; double zahl = atof(test.c_str());
oder
char * test = this->ergebnis->Text.c_str(); double zahl = atof(test);
std::string hat keinen op= o.ä. der ein System:String entgegen nimmt. Und ich bezweifle das System::String die methode c_str() kennt
-
Wie wäre es mit
double zahl = this->ergebnis->Text.ToDouble();
?
(Vielleicht auch Text->, ich habe noch nicht viel mit Managed C++ gearbeitet.)