Artery Geschrieben 28. August 2010 Geschrieben 28. August 2010 Hey leute, ich schon wieder Ich möchte gerne einen satz in eine string (char-array) packen, ist ja kein problem nur in diesem satz soll auch der inhalt von float variblen drin vor kommen, also z.b. Gesamtergebnis[] = "ABC" 'der wert meiner float-variable' "DEFG" so ungefähr nur ich kriegs auch nicht hin wenn es jetzt nur ne stringvariable ist die darein zu bekommen, da ich glaube das man die floats evt vorher zu strings konvertieren muss... Also wäre nett wenn ihr mir helfen und mich aufklären würdet =) MfG Artery Zitieren
Klotzkopp Geschrieben 28. August 2010 Geschrieben 28. August 2010 In C: sprintf In C++: stringstream. Und bitte keine char-Arrays benutzen. Zitieren
Artery Geschrieben 29. August 2010 Autor Geschrieben 29. August 2010 wie funktioniert das genau mit sprintf? gibts in c++ string variablen?? Oo? Zitieren
Klotzkopp Geschrieben 29. August 2010 Geschrieben 29. August 2010 wie funktioniert das genau mit sprintf?Genau wie mit printf, nur dass du vorne einen zusätzlichen Parameter hast: Einen Zeiger auf das Ziel-char-Array. gibts in c++ string variablen?? Oo?Ja, es gibt die Klasse std::string. Falls du C++ (und nicht C) lernen willst, solltest du von printf und char-Arrays erst mal die Finger lassen. Die funktionieren zwar auch in C++, werden aber eher als Altlasten angesehen. Zitieren
Artery Geschrieben 29. August 2010 Autor Geschrieben 29. August 2010 (bearbeitet) schuldigung aber ich raffe es nicht ganz... kannst du mir mal das mit der sprintf variante mir anhand meines obigen "beispiels" zeigen bitte?? ich will in einer char variable etwas textschreiben und ziwschen drin soll der inhalt von float variablen stehen! und bitte erklärs mir und zeigs mir genau damit ich es verstehe Bearbeitet 29. August 2010 von Artery Zitieren
lilith2k3 Geschrieben 29. August 2010 Geschrieben 29. August 2010 float to string - C++ Forums Zitieren
Klotzkopp Geschrieben 29. August 2010 Geschrieben 29. August 2010 schuldigung aber ich raffe es nicht ganz...Ist doch ganz einfach. Wie würdest du das, was du da haben willst, mit printf ausgeben? printf("ABC%fDEFG", deinefloatvariable); Wenn du nicht auf der Konsole, sondern in ein char-Array ausgeben willst, nimmst du sprintf: char Gesamtergebnis[200]; // Auf ausreichende Größe achten sprintf(Gesamtergebnis, "ABC%fDEFG", deinefloatvariable);[/code] Zitieren
lilith2k3 Geschrieben 30. August 2010 Geschrieben 30. August 2010 Oder nimm gleich Stringstreams Zitieren
Klotzkopp Geschrieben 30. August 2010 Geschrieben 30. August 2010 Oder nimm gleich Stringstreams Ich glaube, er will C. Aber so genau hat er das noch nicht gesagt. Zitieren
Artery Geschrieben 30. August 2010 Autor Geschrieben 30. August 2010 also ich wollte es in c und jetzt hab ich es auch verstanden (wollte nur das mit sprintf) dankeee MfG Artery Zitieren
Guybrush Threepwood Geschrieben 1. September 2010 Geschrieben 1. September 2010 char Gesamtergebnis[200]; // Auf ausreichende Größe achten sprintf(Gesamtergebnis, "ABC%fDEFG", deinefloatvariable); Auch wenn 200 Felder für ein float natürlich mehr als groß genug sind würde ich bei sowas trotzdem immer snprintf nehmen wenn man es zur Verfügung hat. Ich meine auch das man das Verhalten von snprintf mit sprintf irgendwie nachbilden konnte indem man zwischen dem % und dem f noch die maximale Länge angibt, aber ich weiß nicht mehr wie das genau war... Zitieren
unbenannt Geschrieben 1. September 2010 Geschrieben 1. September 2010 Beschränkung auf 2 Nachkommastellen würde so ausschauen: sprintf(buf, "%.2f", float); Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.