Veröffentlicht 28. August 201014 j 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
29. August 201014 j Autor wie funktioniert das genau mit sprintf? gibts in c++ string variablen?? Oo?
29. August 201014 j 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.
29. August 201014 j Autor 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 201014 j von Artery
29. August 201014 j 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]
30. August 201014 j Oder nimm gleich Stringstreams Ich glaube, er will C. Aber so genau hat er das noch nicht gesagt.
30. August 201014 j Autor also ich wollte es in c und jetzt hab ich es auch verstanden (wollte nur das mit sprintf) dankeee MfG Artery
1. September 201014 j 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...
1. September 201014 j Beschränkung auf 2 Nachkommastellen würde so ausschauen: sprintf(buf, "%.2f", float);
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.