mal wieder c-strings
-
Hallo, ich möchte einen c-string erstellen. Er setzt sich aus ein paar Zeichen(Characters) und einem double zusammen.
Wie wandle ich das double in char* um? Und wie konkateniere ich die zwei dann.
also etwa so:
char* ersterTeil = {"Zahl"};
double Zahl = 2;Wie bring ich die zwei Sachen zusammen?
-
z.b.
char test[20]; char name[] = "betrag: "; float betrag = 12.5; sprintf(test,"%s%f",name,float);
dann kriegst: "betrag: 12.5";
Meep Meep
-
Am besten du benutzt std::string. Wenn du mit chars arbeiten willst, dann schau mal z.B. in der MSDN nach, wie man double nach char* konvertiert.
Mit strcat kannst du dann die Strings zusammenfügen.
-
@mrtrashtalk
Schau doch bitte vor dem Posten einer Frage in unsere FAQs:
-
Danke für die Hilfe. Sorry die FAQs hab ich übersehen.
Hab jetzt aber ein anderes, ähnliches Problem.
Ich hab eine Klasse, die zwei char Attribute hat.
(m_eins, m_zwei)Ich übergebe diese Argumente einer Methode die einen Pointer auf ein Character/Characterarray verlangt.
Übergeb ich das mit f(&m1) kommt aber ein ziemlicher Mist raus. Was mach ich falsch?
-
f(m_eins); // oder f(&m_eins[0]);
Beide Möglichkeiten kannst du benutzen.
'm_eins' ist ein Zeiger auf m_eins[0].
-
beide Möglichkeiten funktionieren bei mir nicht.
wenn ich f(...,&m_eins[0]) aufrufe bekomme ich den Fehler: subcript requires array or pointer type.
ach ja, die Funktion macht folgendes
[cpp]
f(..., char* param){
char *c;
for (c=param; *c != '\0'; c++) {
printCharacter(.., *c);
}
}Das Problem ist, das an den Character auch das darauf folgende Attribut m_zwei drangehängt wird, und danach noch ne Menge anderen Blödsinns. Ich schätze mal Zeug was im Speicher dahinter steht.