string zu double wandeln
-
Wie hast du denn den String, wenn nicht als char * oder char [] gespeichert?
-
Und du meinst die Funktion hilft, wenn er in atof schon keinen const char * zum einsetzen hat?
-
Oops, habe mich verlesen, sorry
Ja so kann ich nur die Frage von TriPhoenix wiederholen, wie du den String sonst deklariert haben solltest.[ Dieser Beitrag wurde am 04.06.2003 um 22:23 Uhr von RTC editiert. ]
-
Hint: Egal ob du den String als Array oder als Zeiger deklariert hast, machst du den Aufruf:
zahl=atof(string);Wo liegt also das Problem?!
[ Dieser Beitrag wurde am 04.06.2003 um 22:24 Uhr von RTC editiert. ]
-
Hier mal der Code:
int isNormal (string cGemessen, string cNormaltext ) { ... [33]double Wert = atof(cGemessen); ...
und dies ist die Antwort:
g++ isnormal.cc
isnormal.cc: In function `int isNormal(basic_string<char,string_char_traits<char>,__default_alloc_template<true,0> >, basic_string<char,string_char_traits<char>,__default_alloc_template<true,0> > )':
isnormal.cc:33: cannot convert `cGemessen' from type `string' to type `const char *'Hanns
-
Dann bist du hier aber im falschen Forum! Das ist nicht ANSI-C, sondern C++...
-
ja schon, aber atof() ist ´doch ansi-c , oder ??
-
ja, aber string ist eine klasse in c++
-
double Wert = atof(cGemessen.c_str()) ?
-
Oh.Oh entelechi , Du hast ja auch eine c++ Antwort gegeben
Aber.. es klappt. Danke .
was sagt die Info zu c_str()?The function c_str() returns a pointer to a regular C string, identical to the current string.
Also scheint g++ zufrieden zu sein, jetzt einen char * zu bekommen!
Wenn er nun nicht mault, heiß das, ein C string ist ein *char **. Das constant in "foo(const char *)" heißt doch nur, das foo den wert nicht verändert ?
Hab ich das nun richtig verstanden?Danke für den Tip
Hanns[ Dieser Beitrag wurde am 05.06.2003 um 15:49 Uhr von ^Hanns editiert. ]
-
jepp.