string und integer verbinden?
-
ich habe eine function:
drawstring(5, 2, "Level: "+level);
level ist in diesem fall ein int
und ich will wie man sehen kann eine ausgabe wie z.B. "Level: 5" haben
wie schaff ich das? danke!
-
du wirst nicht drum herum kommen, aus der zahl einen string zu machen.
-
wenn ich n string erstellen will
bekomme ich::\tut\ch6\gp\main.cpp(272) : error C2065: 'string' : nichtdeklarierter Bezeichner D:\tut\ch6\gp\main.cpp(272) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'levelStr' D:\tut\ch6\gp\main.cpp(272) : error C2065: 'levelStr' : nichtdeklarierter Bezeichner D:\tut\ch6\gp\main.cpp(273) : error C2228: Der linke Teil von '.str' muss eine Klasse/Struktur/Union sein
also include ich
#include <string.h> using namespace std;
dann krieg ich auchnoch
D:\tut\ch6\gp\main.cpp(9) : error C2871: 'std' : Existiert nicht oder ist kein Namespace
meine includes sehen so aus:
#include <stdlib.h> #include <string.h> #include <math.h> #include "SDL.h" #include <cstdlib> #include <ctime>; #include "SDL.h" #include <string.h>
was mussich machen damit das klappt? danke!
-
ups da war was doppelt ^^
-
statt x.h nimm cx:
#include <cstdlib> //statt stdlib.h #include <cstring> //statt string.h #include <cmath> //statt math.h #include "SDL.h" #include <ctime> //statt time.h using namespace std;
mit string.h ist das so:
die "alten" string funktionen, also die, die auf c-strings arbeiten (strcmp, strlen, ...) sind(waren) in string.h. aus string.h wurde cstring.
die header der c++ standardbibliothek haben kein .h und kein c vorne.#include <string> using namespace std;
bevor du mit der sdl weitermachst, schau dir noch an, was namespaces sind, damit du die zeile using namespace std; verstehst.
-
danke, habs jetzt auch hingekriegt, eine frage noch, string -> char umwandeln? danke
-
Hallo,
String.h ist definitiv der falsche, dabei handelt es sich um den C Header. Irgendwie scheint bei dir vieles durcheinander. Welchen Kompiler benutzt du? Hast du evtl. mal etwas ausführlicheren Code?
-
Die Memberfunktion c_str() von string erledigt das.
-
#include <sstream> #include <string> // ... std::string level_trunk = "Level: "; int level = 5; std::stringstream sstr; std::string level_string; sstr << level_trunk << level; level_string = sstr.str(); // jetzt ist level_string == "Level: 5"