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
Klotzkopp Geschrieben 28. August 2010 Geschrieben 28. August 2010 In C: sprintf In C++: stringstream. Und bitte keine char-Arrays benutzen.
Artery Geschrieben 29. August 2010 Autor Geschrieben 29. August 2010 wie funktioniert das genau mit sprintf? gibts in c++ string variablen?? Oo?
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.
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
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]
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.
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
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...
unbenannt Geschrieben 1. September 2010 Geschrieben 1. September 2010 Beschränkung auf 2 Nachkommastellen würde so ausschauen: sprintf(buf, "%.2f", float);
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden